我不知道为什么下面的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,所以没有任何不匹配的类型或类似的东西。
有什么指示吗?
您应该在参数周围添加引号:
DB_ExecuteQuery("UPDATE driver
SET windowsPhoneID = '$uri'
WHERE userID = '$userID'");
备注:
就像Mike温和地建议的那样,请使用PDO或MySQLi来防止SQL注入。