原始问题:
尽管意识到 PDO 缺乏支持在单个语句中执行多个查询,但人们对支持的可用性提出了担忧PDO_MYSQL 和 PDO_MYSQLND 中具有此类功能。
答案:
了解 PDO_MYSQL 和 PDO_MYSQLND:
PDO_MYSQL 已被折旧并替换为PHP 中的 PDO_MYSQLND 5.3.但是,名称仍然是 PDO_MYSQL,使其成为 MySQL PDO 的默认驱动程序。
使用 PDO 执行多个查询:
要一次执行多个查询,您需要以下:
使用exec:
$sql = " DELETE FROM car; INSERT INTO car(name, type) VALUES ('car1', 'coupe'); INSERT INTO car(name, type) VALUES ('car2', 'coupe'); "; $db->exec($sql);
注意:此方法仅限于包含常量值的 SQL。
使用语句:
$sql = " DELETE FROM car; INSERT INTO car(name, type) VALUES (:car1, :type1); INSERT INTO car(name, type) VALUES (:car2, :type2); "; $stmt = $db->prepare($sql); $stmt->execute( ["car1" => "brand1", "type1" => "coupe", "car2" => "brand2", "type2" => "coupe"] );
循环查询结果:
执行语句后始终记住循环查询结果以检查错误或收集结果。
有关模拟准备语句的注意事项:
以上是PDO_MYSQL/PDO_MYSQLND 是否支持单个语句中的多个查询?的详细内容。更多信息请关注PHP中文网其他相关文章!