-1

如果我在 PhpMyAdmin 中执行下面的查询,则根本没有问题,但是如果我从 PHP 执行它会给出错误,为什么?

像这样从 PhP 执行:

mysql_query($query_antwooden.$query_huurtermijnen.$query_gesloten) 或死 (....

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 中的单个查询调用中执行多个查询。这是一种反sql注入防御机制。

您必须进行 3 次单独的 ->query() 调用。

于 2012-12-22T19:21:13.703 回答