8

たとえば、更新、挿入、削除などの場合、誰かに教えてもらえますか?それから、次のように閉じますmysqli_stmt::close();か?close()PHPのマニュアルを確認しましたが、実際に何が行われているのかわかりません。

例:

$stmt = $dbh->prepare("SELECT `user_email` FROM `users` WHERE `user_email` = ? LIMIT 1");
$stmt->execute(array($email));
$stmt->close();

私の質問の次の部分は、例として、トランザクション内で実行しているクエリごとに、トランザクション内に複数の更新クエリがあった場合、それらを個別閉じる必要がありますか?...トランザクションであるため、各execute()の後に使用する必要があるかどうかはわかりません。またはそれらのすべての後に1つを使用しますか?execute()$stmt->close();$stmt->close();

4

2 に答える 2

8

PDO には close() メソッドはありません。代わりに、データベース変数を null に設定するだけで接続を閉じることができます。これにより、接続が閉じられます。

$stmt = null;

2 番目の質問に答えるには、接続を 1 回閉じるだけで済みます。データベースで実行する必要があるすべてのクエリを実行した後。

于 2012-04-14T23:41:43.463 に答える
2

mysqli close メソッドを使用しているようです。$stmt->close() メソッドは、以前に開いていたデータベース接続 ( http://www.php.net/manual/en/mysqli.close.php ) を閉じるだけです。

編集:使用しているのがPDOの場合、疑問符の代わりにパラメーターに名前を付ける可能性を利用しない理由がわかりません。つまり、多くの人が mysqli ではなく PDO を選択する理由です。クエリ/ステートメントをより包括的に把握できる可能性があります。

于 2012-04-14T23:37:14.327 に答える