-1

以下のクエリをPhpMyAdminで実行すると、問題はまったく発生しませんが、PHPから実行するとエラーが発生します。なぜですか?

次のようにPhPから実行します。

mysql_query($query_antwoorden。$query_huurtermijnen。$query_gesloten)またはdie(...。

INSERT INTO data_prijzen_antwoorden (`ID_advertentie`,`antw_wisseldagen`,`antw_gesloten`,`antw_borg`) 
VALUES (19,1,1,2) 
ON DUPLICATE KEY UPDATE antw_wisseldagen = VALUES(antw_wisseldagen), antw_gesloten = VALUES(antw_gesloten), antw_borg = VALUES(antw_borg);

INSERT INTO data_huurtermijnen_wisseldagen (`ID_advertentie`,`ID_htbl_huurtermijn`,`huurtermijn_beschikbaar`,`startdag`,`starttijd`,`einddag`,`eindtijd`) 
VALUES (19,1,1,'Maandag','9.00','Vrijdag','17.00'),(19,2,1,'Vrijdag','12.00','Vrijdag','10.00'),(19,3,1,'Maandag','3.00','Vrijdag','4.00'),(19,4,1,'Vrijdag','10.00','Maandag','1.00'),(19,5,1,'Vrijdag','12.00','Zondag','10.00'),(19,6,1,'dag','0.00','dag','17.00'),(19,7,1,'dag','0.00','dag','12.00'),(19,8,1,'dag','0.00','dag','17.30') 
ON DUPLICATE KEY UPDATE huurtermijn_beschikbaar = VALUES(huurtermijn_beschikbaar), startdag = VALUES(startdag), starttijd = VALUES(starttijd), einddag = VALUES(einddag), eindtijd = VALUES(eindtijd);

INSERT INTO data_periodes_gesloten (`ID_advertentie`,`from_11`,`to_11`,`from_12`,`to_12`,`from_13`,`to_13`,`array_gesloten_data`) 
VALUES (19,'19-12-2012','21-12-2012',NULL,NULL,NULL,NULL,'1355875200,1355961600,1356048000') 
ON DUPLICATE KEY UPDATE from_11 = VALUES(from_11), to_11 = VALUES(to_11), from_12 = VALUES(from_12), to_12 = VALUES(to_12), from_13 = VALUES(from_13), to_13 = VALUES(to_13), array_gesloten_data = VALUES(array_gesloten_data); 
4

1 に答える 1

4

PHPでは、1回のクエリ呼び出しで複数のクエリを実行することはできません。これは、アンチSQLインジェクション防御メカニズムです。

3つの別々の->query()呼び出しを行う必要があります。

于 2012-12-22T19:21:13.703 に答える