我正在使用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”工作。
我无法更新我的记录,因为文本中有很多单引号。针对这个问题的任何解决方案?
答案 0 :(得分:5)
首先,您应该停止使用mysql_*
并开始使用PDO
,您可以在互联网上随处找到快速指南。
然后,解决方案非常简单,只需在mysql_real_escape_string
var上应用$content
,它就可以让您更新内容:)它还可以保护您免受SQL injection
的攻击。
答案 1 :(得分:0)
使用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());
答案 2 :(得分:0)
您可以使用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())