使用PHP / MySQLi进行多次UPDATE和INSERT

时间:2016-09-22 14:32:49

标签: php mysql mysqli

我需要在现有的一组表和我定期获得的新/更改的信息之间进行协调,因此每次都必须运行一组~30个UPDATE / INSERT操作。因为' mysql_query'现在已被弃用,我不想重新编写OO中的所有内容,是否有合理的程序方法可以按顺序运行所有这些,而无需调用' mysqli_free_result()'每一个人之后?

仅仅为了记录,我已经尝试将它们作为一组mysqli_query语句运行而没有mysqli_free_result(),并且它很混乱:某些操作会通过,而其他操作会失败默默。坦率地说,一个shell脚本带有一堆' mysql -e'其中的命令更可靠......但这需要是一个Web驱动的应用程序,因此不再可行。

1 个答案:

答案 0 :(得分:1)

你的假设是错误的。

mysqli_query的行为类似于mysql_query之一,您不需要任何其他修改。 mysqli_free_result()都与你的问题无关。

您问题中唯一有意义的部分是无提示失败的查询。为了使它们失败,请告诉mysqli这样做。在mysqli_connect

之前添加此行
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

并且第一个失败的查询将告诉您原因。

但一般情况下,使用mysqli_query()运行多个UPDATE和INSERT查询没有任何问题。