元の質問:
PDO には単一のステートメントで複数のクエリを実行するためのサポートについては、次のような懸念が提起されています。 PDO_MYSQL および PDO_MYSQLND でそのような機能がサポートされるかどうか。
回答:
PDO_MYSQL および PDO_MYSQLND について:
PDO_MYSQL減価償却され、次のように置き換えられました。 PHP 5.3 の PDO_MYSQLND。ただし、名前は 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 は 1 つのステートメントで複数のクエリをサポートしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。