在 PHP 中连续执行 MySQL 查询
在 PHP 编程中,可以连续执行多个 MySQL 查询。然而,一些用户在尝试这样做时遇到了语法错误。本文旨在提供有关解决此类问题以及使用适当方法执行多查询的指导。
运行多个查询的一种常见方法是使用分号 (;) 作为每个查询之间的分隔符。例如,在提供的 PHP 代码片段中,$sql 变量连接三个 MySQL 语句:创建临时表、更新临时表中的行以及将临时表中的数据插入主表中。
然而,MySQL 需要为每个单独的语句进行新的查询执行调用。因此,使用 $conn->query($sql) 执行连接的 $sql 变量将导致语法错误。
要纠正此问题,建议单独准备和执行每个查询,如下所示在答案中提供的改进代码片段中:
$queries = [ "CREATE TEMPORARY TABLE tmp SELECT * FROM event_categoriesBU WHERE id = 1", "UPDATE tmp SET>
这种方法将每个查询分成自己的语句并允许正确执行。需要注意的是,multi_query 函数不支持占位符值,从而使应用程序面临潜在的 SQL 注入漏洞。
为了增强灵活性和适应性,请考虑使用 PDO(PHP 数据对象)而不是 MySQLi。 PDO 提供了更强大的功能,包括对占位符值的支持以及针对 SQL 注入改进的安全性。
以上是如何在 PHP 中连续执行多个 MySQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!