无法保存MySQL查询

时间:2015-09-04 07:41:03

标签: php mysql

我的MySQL查询/ php出现问题,我尝试更新我的数据库中通常会有效的行,但是当字符串中有'时,例如

  

我不要'喜欢绿色的鸡蛋和火腿。

其中的'将取消整个响应,而不是更新行,所以如果我在没有'的情况下放置这样的内容,例如:

  

我不喜欢绿色的鸡蛋和火腿。

该字符串将保存到该行。下面是使用的MySQL查询以及从中获取字符串的位置。

$NewMessage = $_POST['message123'];

mysql_query("UPDATE Account SET `function` = 'Message', `note` = '$NewMessage' WHERE `id` = '$ID' AND `Online` = '1'"); 

如果您需要更多来源或任何内容,请告诉我,让我知道您的想法,谢谢!

3 个答案:

答案 0 :(得分:0)

使用*_real_escape_string

$NewMessage = mysql_real_escape_string($_POST["message123"]);

但当然,mysql_* API已经deprecated,我建议您改为使用prepared statement

答案 1 :(得分:0)

嘿朋友,你需要改变单曲'with''逗号2次。然后它将你的值正确插入表中,其他生成错误。

真正的转义字符串使用我们需要的值就像这个doest。如果我们在数据库中的用户价值就像它不对,那就是使用''2次单逗号没有doule逗号

答案 2 :(得分:0)

简单地使用addslashes()详细了解click here

例如,您的代码只需使用addslashes()这样的内容

$NewMessage = addslashes($_POST['message123']);

我希望它对你有用。