【发布时间】:2013-03-02 23:08:45
【问题描述】:
你们中的任何人都可以帮助我吗?这个语法有什么问题:
UPDATE subscriptions
SET type_abonnement = 'premium',
betalingsmethode = 'EInvoice',
einvoice_email = 'email@email.com',
bank_naam = '',
tenaamstelling = '', rekeningnummer = '',
auto_afschrijving = '',
voorwaarden_akkoord = 'Akkoord met de voorwaarden',
gemachtigd_toezegging = 'Ik ben gemachtigd',
WHERE
keycolumn = '5141d398ceeb7'
错误信息:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,在第 10 行的 'WHERE keycolumn = '5141d398ceeb7'' 附近使用正确的语法
这是带有错误消息的 SQL 的回显。我使用的代码:
$sql="UPDATE subscriptions SET type_abonnement = '".$typeabonnement."',
betalingsmethode = '".$betalingsmethode."',
einvoice_email = '".$emailfactuur."',
bank_naam = '".$bank."',
tenaamstelling = '".$tenaamstelling."',
rekeningnummer = '".$rekeningnummer."',
auto_afschrijving = '".$afschrijving."',
voorwaarden_akkoord = '".$voorwaarden."',
gemachtigd_toezegging = '".$gemachtigd."',
WHERE keycolumn = '".$uniqueid."' ";
echo $sql;
mysql_query($sql) or die(mysql_error());
mysql_close();
提前致谢!
【问题讨论】:
-
去掉WHERE前的逗号
-
我已经厌倦了所有这些 mysql_* 和 SQL 注入的废话......Read this.
-
请告诉我你知道SQL注入......
-
谢谢 pedromarce,就是这样! @TheRest,认为这不是万无一失的:所有变量都已被 real_escaped。