sql 字符串中的单引号
Single quotes in sql string
我正在使用 PHP 更新数据库中的记录。
这个字符串中有一些单引号。我想知道如何使用 sql update.
更新数据库中的这个字符串
PHP代码:
$content = $_POST['content'];
$query = "UPDATE about SET content = '" . $content . "' WHERE about_id = 1";
$result = mysql_query($query) or die(mysql_error());
例如内容是:
大家好,我叫 Sam,住在荷兰。我今年 24 岁,在 'DiscoFever'.
工作
由于文本中有很多单引号,我无法更新我的记录。这个问题有什么解决方案吗?
首先,您应该停止使用 mysql_*
并开始使用 PDO
,您可以在互联网上随处找到快速指南。
然后,解决方案非常简单,只需在您的 $content
变量上应用 mysql_real_escape_string
,它将允许您更新您的内容 :) 它还会保护您免受 SQL injection
.
使用mysql_real_escape_string
:-
$content=mysql_real_escape_string($_POST['content']);
$query = "UPDATE about SET content = '" . $content . "' WHERE about_id = 1";
$result = mysql_query($query) or die(mysql_error());
您可以使用 filter function
试试这个代码:
$content = $_POST['content'];
$query = "UPDATE about SET content =
'" . filter_var($content, FILTER_SANITIZE_STRING) . "' WHERE about_id = 1";
$result = mysql_query($query) or die
(mysql_error())
我正在使用 PHP 更新数据库中的记录。 这个字符串中有一些单引号。我想知道如何使用 sql update.
更新数据库中的这个字符串PHP代码:
$content = $_POST['content'];
$query = "UPDATE about SET content = '" . $content . "' WHERE about_id = 1";
$result = mysql_query($query) or die(mysql_error());
例如内容是:
大家好,我叫 Sam,住在荷兰。我今年 24 岁,在 'DiscoFever'.
工作由于文本中有很多单引号,我无法更新我的记录。这个问题有什么解决方案吗?
首先,您应该停止使用 mysql_*
并开始使用 PDO
,您可以在互联网上随处找到快速指南。
然后,解决方案非常简单,只需在您的 $content
变量上应用 mysql_real_escape_string
,它将允许您更新您的内容 :) 它还会保护您免受 SQL injection
.
使用mysql_real_escape_string
:-
$content=mysql_real_escape_string($_POST['content']);
$query = "UPDATE about SET content = '" . $content . "' WHERE about_id = 1";
$result = mysql_query($query) or die(mysql_error());
您可以使用 filter function
试试这个代码:
$content = $_POST['content'];
$query = "UPDATE about SET content =
'" . filter_var($content, FILTER_SANITIZE_STRING) . "' WHERE about_id = 1";
$result = mysql_query($query) or die
(mysql_error())