0

我不知道为什么以下 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,因此没有任何不匹配的类型或类似的东西。

任何指针?

4

1 回答 1

6

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

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

备注:
就像 Mike 温和建议的那样,请使用 PDO 或 MySQLi 来防止 sql-injection。

于 2012-08-07T22:59:25.993 回答