【发布时间】:2012-12-08 11:35:03
【问题描述】:
如何将多个查询合并为一个(可以吗?)
$query = "DELETE FROM aktywne_kody WHERE kodsms ='$kodSMSgracza' AND typkodu ='$id'";
mysql_query($query) or die(mysql_error());
$query = "INSERT INTO uzyte_kody (gracz, kodsms, typkodu) VALUES ('$nickGracza', '$kodSMSgracza', '$id')";
mysql_query($query) or die("Błąd MySQL X04");
$query = "INSERT INTO do_odebrania (gracz, itemDATA, itemQTY) VALUES ('$nickGracza', '$itemDATA', '$itemQTY')";
mysql_query($query) or die("Błąd MySQL X05");
顺便说一句,如果我在所有查询完成后执行 mysql_close($db) 会更好吗?
【问题讨论】:
-
制作一个
$query,并确保在每一行之后添加一个;。 -
为什么需要这个?大多数时候,可读性比效率低更重要。
-
请不要在新应用程序中使用
mysql_query。它已被弃用且危险。至少使用 PDO 来确保您的 data is escaped properly 在您因 SQL 注入错误而陷入严重麻烦之前。 -
用
;加入他们会得到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 'INSERT INTO uzyte_kody (gracz, kodsms, typkodu) VALUES ('UltraMC', '00000000', '' at line 1 -
继@tadman 关于避免
mysql_query之后,mysqli 为您提供multi_query,它正好允许这样做。