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'");

備考:
マイクが優しく提案したように、SQLインジェクションを防ぐためにPDOまたはMySQLiを使用してください。

于 2012-08-07T22:59:25.993 に答える