我不知道为什么以下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,因此没有任何不匹配的类型或类似的东西。
任何指针?
答案 0 :(得分:6)
您应该在参数周围添加引号:
DB_ExecuteQuery("UPDATE driver
SET windowsPhoneID = '$uri'
WHERE userID = '$userID'");
<强>注:强>
就像迈克温和建议的那样,请使用PDO或MySQLi来防止sql注入。