为什么跟随mySQL查询失败?

时间:2012-08-07 22:56:19

标签: php mysql

我不知道为什么以下mySQL查询一直给我以下错误:

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 'http://some.url' at line 2

SQL查询本身是这样的:

DB_ExecuteQuery("UPDATE driver 
                 SET windowsPhoneID = $uri
                 WHERE userID = $userID");

$ userID只是表的主键,只是一个VARCHAR。我不知道为什么$ uri部分无效。 WindowsPhoneID应该存储为TEXT,因此没有任何不匹配的类型或类似的东西。

任何指针?

1 个答案:

答案 0 :(得分:6)

您应该在参数周围添加引号:

DB_ExecuteQuery("UPDATE driver 
                 SET windowsPhoneID = '$uri'
                 WHERE userID = '$userID'");

<强>注:
就像迈克温和建议的那样,请使用PDO或MySQLi来防止sql注入。