English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_stmt_close()関数はプレハブの文書を終了します。
mysqli_stmt_close()関数は、事前にオープンされたプレハブの文書オブジェクトを受け取り、それを閉じます。
この関数を使用して閉じることはできません持続的な接続。
mysqli_stmt_close($stmt);
順序番号 | パラメータ及び説明 |
---|---|
1 | stmt(必須) これは準備されたクエリのオブジェクトを表します。 |
PHP mysqli_stmt_close()関数はブール値を返し、成功時はtrue、失敗時はfalse。
この関数は最初にPHPバージョン5導入されており、すべてのより高いバージョンで使用できます。
MySQLデータベースにemployeeという名前のテーブルを作成して、その内容は以下の通りです:
mysql> select * from employee; +------------+--------------+------+------+--------+ | FIRST_NAME | LAST_NAME | AGE | SEX | INCOME | +------------+--------------+------+------+--------+ | Vinay | Bhattacharya | 20 | M | 16000 | | Sharukh | Sheik | 25 | M | 18300 | | Trupthi | Mishra | 24 | F | 36000 | | Sheldon | Cooper | 25 | M | 12256 | | Sarmista | Sharma | 28 | F | 15000 | +------------+--------------+------+------+--------+ 5 rows in set (0.00 sec)
以下の例では、mysqli_stmt_close()関数の使い方(手続き型スタイル)-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); $stmt = mysqli_prepare($con, "UPDATE employee set INCOME=INCOME-? where INCOME>?"); mysqli_stmt_bind_param($stmt, "si", $reduct, $limit); $limit = 16000; $reduct = 5000; //ステートメントを実行 mysqli_stmt_execute($stmt); print("Records Updated......\n"); //ステートメントを終了 mysqli_stmt_close($stmt); //接続を閉じる mysqli_close($con); ?>
結果を出力
Records Updated......
上記のプログラムを実行した後、employee以下は表の内容です:
mysql> select * from employee; +------------+--------------+------+------+--------+ | FIRST_NAME | LAST_NAME | AGE | SEX | INCOME | +------------+--------------+------+------+--------+ | Vinay | Bhattacharya | 20 | M | 16000 | | Sharukh | Sheik | 25 | M | 13300 | | Trupthi | Mishra | 24 | F | 31000 | | Sheldon | Cooper | 25 | M | 12256 | | Sarmista | Sharma | 28 | F | 15000 | +------------+--------------+------+------+--------+ 5 rows in set (0.00 sec)
面向オブジェクトスタイルでは、この関数の構文は以下の通りです$stmt-> close();。以下は、面向オブジェクトスタイルでのこの関数の例です;
<?php //接続を確立します $con = new mysqli("localhost", "root", "password", "mydb"); //表を作成します $con -> query("CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255)Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("テーブルの作成中.....\n"); //準備ステートメントを使用してテーブルに値を挿入 $stmt = $con -> prepare( "INSERT INTO myplayers values(?, ?, ?, ?, ?)"); $stmt -> bind_param("issss", $id, $fname, $lname, $pob, $country); $id = 1; $fname = 'Shikhar'; $lname = 'Dhawan'; $pob = 'Delhi'; $country = 'India'; //ステートメントを実行 $stmt->execute(); //ステートメントを終了 $stmt->close(); //接続を閉じる $con->close(); ?>
結果を出力
テーブルの作成中.....
以下のように閉じることもできますmysqli_stmt_prepare()関数で作成されたステートメント -
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; mysqli_query($con, $query); print("テーブルの作成中.....\n"); //ステートメントの初期化 $stmt = mysqli_stmt_init($con); mysqli_stmt_prepare($stmt, "INSERT INTO Test values(?, ?)"); mysqli_stmt_bind_param($stmt, "si", $Name, $Age); $Name = 'Raju'; $Age = 25; print("レコードを挿入中....."); //ステートメントを実行 mysqli_stmt_execute($stmt); //ステートメントを終了 mysqli_stmt_close($stmt); //接続を閉じる mysqli_close($con); ?>
結果を出力
テーブルの作成中..... レコードを挿入中.....