MySQL 3插入重复密钥更新查询多个表不起作用

时间:2012-12-22 19:19:34

标签: php mysql

如果我在PhpMyAdmin中执行下面的查询,那么根本就会出现问题,但如果我从PHP执行它会出错,为什么?

从PhP执行:

mysql_query($ query_antwoorden。$ 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); 

1 个答案:

答案 0 :(得分:4)

您无法在PHP中的单个查询调用中执行多个查询。这是一个反sql注入防御机制。

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