【问题标题】:Multiple UPDATEs and INSERTs with PHP/MySQLi使用 PHP/MySQLi 进行多次更新和插入
【发布时间】:2016-09-22 14:32:49
【问题描述】:

我需要在现有的一组表和我定期获得的新/更改信息之间进行协调,因此每次都必须运行一组约 30 个 UPDATE/INSERT 操作。由于现在不推荐使用“mysql_query”,并且我不想在 OO 中重新编码所有内容,是否有一种合理的程序方式可以按顺序运行所有这些,而不必在每个之后调用“mysqli_free_result()”?

为了记录,我尝试将它们作为一组 mysqli_query 语句运行,而没有 mysqli_free_result(),这是一团糟:一些操作通过,而另一些则静默失败。坦率地说,其中包含一堆“mysql -e”命令的 shell 脚本要可靠得多……但这需要是一个 Web 驱动的应用程序,所以这不再可行了。

【问题讨论】:

    标签: php mysql mysqli


    【解决方案1】:

    你的假设是错误的。

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

    您问题中唯一有意义的部分是静默失败的查询。要让它们大声失败,只需告诉 mysqli 这样做。在 mysqli_connect 之前添加这一行

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    

    第一个失败的查询会告诉你原因。

    但总的来说,使用 mysqli_query() 运行多个 UPDATE 和 INSERT 查询不会有任何问题。

    【讨论】:

    • 感谢您的教育和解决方案!那,加上在没有mysqli_multi_query 的情况下不在单个查询中使用多个语句是问题所在。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2013-03-13
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    相关资源
    最近更新 更多