插入包含保留字的文本?

问题描述:

我正在尝试使用包含保留字的字符串更新列。插入包含保留字的文本?

$val1 = "Boat's Devices"; // inserts fine 
$val2 = "Boat's Float"; // fails 

错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Float'

mysql_query("UPDATE phrases SET head_title = '$val1', title = '$val2' WHERE p_id = '$p_id'") or die(mysql_error()); 
+1

你能告诉我们你的SQL语句吗?我有一种感觉问题在于... – Jon 2012-07-08 01:02:46

你要逃跑,你插入到一个MySQL数据库中的所有字符串。使用mysql_real_escape_string或等价物来执行此操作。这应该可以解决您的问题。如果没有,请发布您的SQL查询,以便我们可以查看它。

+0

我试过使用mysql_real_escape_string和浮动错误消失,但另一个弹出的原因不明确。 – Roger 2012-07-08 01:09:50

+0

如果您可以发布此次收到的确切错误消息,这将有所帮助。 – akanevsky 2012-07-08 01:12:48

+0

好吧,看来我需要围绕我的变量来正确插入。当我使用mysql_real_escape_string('$ val2')时,它说FUNCTION database2.mysql_real_escape_string不存在。如果我删除'',它给了我同样的错误,就好像我试图插入值为$ val2而不是'$ val2' – Roger 2012-07-08 01:16:10