ホームページ >バックエンド開発 >PHPチュートリアル >MySQLi プリペアド ステートメントは複数のクエリを同時に処理できますか?

MySQLi プリペアド ステートメントは複数のクエリを同時に処理できますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-29 04:02:14927ブラウズ

Can MySQLi Prepared Statements Handle Multiple Queries Simultaneously?

mysqli は 1 つのステートメントで複数のクエリを準備できますか?

mysqli では、準備されたステートメントは単一の MySQL クエリを実行するように設計されています。 1 つのステートメントで複数のクエリを準備することはできませんが、異なる変数に複数の準備されたステートメントを作成できます。

これを行うには、次のアプローチを使用します。

$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");

次に、これらのステートメントを独立して実行します。例:

$stmtUser->bind_param("ssss", $id, $username, $pw, $email);
$stmtUser->execute();

$stmtProc->bind_param("ss", $id, $idp);
$stmtProc->execute();

両方のクエリを同時に厳密に実行する必要がある場合は、トランザクションの使用を検討する必要があります。トランザクションにより、両方のクエリが成功するか、両方とも失敗することが保証されます。

最後に、「非オブジェクトのメンバー関数の呼び出し」エラーは通常、prepare() ステートメントの失敗を示すため、それを検査する必要があることを覚えておいてください。エラーの場合。

以上がMySQLi プリペアド ステートメントは複数のクエリを同時に処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。