English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP基本教程

PHP高度教程

PHP & MySQL

PHPリファレンスマニュアル

PHP mysqli_prepare()関数の用法と例

PHP MySQLi 参考マニュアル

mysqli_prepare()関数はSQL文の実行に準備を整えます。

定義と用法

mysqli_prepare()関数はSQL文の実行に準備を整え、ステートメントハンドルを返します。このハンドルに対して後続の操作を行うことができます。このクエリではパラメータマーク(「?」)を使用して値を指定し、後に実行することができます。
ここでは単一のSQL文のみをサポートし、複数のSQL文をサポートしていません。
SQL文の実行前に、mysqli_stmt_bind_param()関数を使用して占位符パラメータをバインドする必要があります。同様に、結果を取得する前に、mysqli_stmt_bind_result()関数を使用して返される列値をバインドする必要があります。

文法

mysqli_prepare($con, $str);

パラメータ

序号パラメータ及び説明
1

con(必須)

MySQL Serverとの接続を表すオブジェクトです。

2

str(必須)

指定する必要があるクエリの文字列値です。

返り値

成功の場合、この関数は statement オブジェクトを返します。失敗した場合、返します。false

PHPバージョン

この関数は最初にPHPバージョン5で導入され、すべてのより高いバージョンで使用できます。

オンラインサンプル

以下の例では、mysqli_prepare()関数の使い方(手続き型スタイル)-

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; 
   mysqli_query($con, $query);
   print("テーブルを作成...
");
   $stmt = mysqli_prepare($con, "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);
?>

結果を出力

テーブルを作成...
レコードを挿入...

テーブルの内容を確認する場合、以下のように、$減号;

mysql> select * from test;
+------+------+
| Name | AGE  |
+------+------+
| Raju |   25 |
+------+------+
1 row in set (0.00 sec)

オンラインサンプル

面向オブジェクトのスタイルでは、この関数の構文は以下の通りです$ con-> prepare();。以下は、面向オブジェクトスタイルの$ minusのThis関数の例です;

<?php
   //接続を確立
   $con = new mysqli("localhost", "root", "password", "mydb");
   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; 
   $con -> query($query);
   print("テーブルを作成...
");
   $stmt = $con -> prepare( "INSERT INTO Test values(?, ?)");
   $stmt -> bind_param("si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("レコードを挿入...");
   //ステートメントを実行
   $stmt->execute();
   //ステートメントを終了
   $stmt->close();
   //接続を閉じる
   $con->close();
?>

結果を出力

テーブルを作成...
レコードを挿入...

PHP MySQLi 参考マニュアル