mysqli_stmt_prepare,とは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > mysqli_stmt_prepare,の意味・解説 

mysqli_stmt_prepare,

(PHP 5)
mysqli_stmt_prepare, stmt->prepare() — SQL ステートメントを実行するために準備する

説明

手続き型:
bool mysqli_stmt_prepare ( mysqli_stmt stmt, string query )
オブジェクト指向型(メソッド)
class mysqli_stmt {
mixed prepare ( string query )
} null で終わる文字列で指定した SQL クエリを準備します。
パラメータマーカは、ステートメントの実行や行の取得の前に mysqli_stmt_bind_param()mysqli_stmt_bind_result() を使用して アプリケーション変数にバインドする必要があります。

パラメータ

stmt
手続き型のみ: mysqli_stmt_init() が返すステートメント ID。
query
クエリを表す文字列。単一の SQL 文で構成されている必要があります。
ひとつまたは複数のパラメータを SQL 文に含めることができます。 そのためには、適切な位置にクエスチョンマーク (?) を埋め込みます。
注意: ステートメントの最後にセミコロンや \g を追加してはいけません。
注意: パラメータのマーカは、それが SQL 文の適切な位置にある場合のみ 有効です。例えば INSERT 文の VALUES() リストの中 (行に登録するカラム値を指定する) や WHERE 句で列のデータと比較する値などが適切な位置の例です。
しかし、識別子 (テーブルやカラムの名前) や SELECT 文で選択する 項目の名前に指定したり、(等号 = のような) 二項演算子の両側にパラメータを指定したりすることはできません。 後者の制限は、パラメータの型が判断できなくなることによるものです。 また、パラメータのマーカを NULL と比較して ? IS NULL のようにすることもできません。 一般に、パラメータが使用可能なのはデータ操作言語 (DML) ステートメントであり、データ定義言語 (DDL) ステートメントでは 使用できません。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例 1471. オブジェクト指向型
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
   printf("Connect failed: %s\n", mysqli_connect_error());
   exit();
}

$city = "Amersfoort";

/* プリペアドステートメントを作成します */
$stmt =  $mysqli->stmt_init();
if ($stmt->prepare("SELECT District FROM City WHERE Name=?")) {

   /* マーカにパラメータをバインドします */
   $stmt->bind_param("s", $city);

   /* クエリを実行します */
   $stmt->execute();

   /* 結果変数をバインドします */
   $stmt->bind_result($district);

   /* 値を取得します */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* ステートメントを閉じます */
   $stmt->close();
}

/* 接続を閉じます */
$mysqli->close();
?>

例 1472. 手続き型
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
   printf("Connect failed: %s\n", mysqli_connect_error());
   exit();
}

$city = "Amersfoort";

/* プリペアドステートメントを作成します */
$stmt = mysqli_stmt_init($link);
if (mysqli_stmt_prepare($stmt, 'SELECT District FROM City WHERE Name=?')) {

   /* マーカにパラメータをバインドします */
   mysqli_stmt_bind_param($stmt, "s", $city);

   /* クエリを実行します */
   mysqli_stmt_execute($stmt);

   /* 結果変数をバインドします */
   mysqli_stmt_bind_result($stmt, $district);

   /* 値を取得します */
   mysqli_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* ステートメントを閉じます */
   mysqli_stmt_close($stmt);
}

/* 接続を閉じます */
mysqli_close($link);
?>

上の例の出力は以下となります。

Amersfoort is in district Utrecht

  

参考

mysqli_stmt_init(), mysqli_stmt_execute(), mysqli_stmt_fetch(), mysqli_stmt_bind_param(), mysqli_stmt_bind_result() mysqli_stmt_close().


このページでは「PHP関数リファレンス」からmysqli_stmt_prepare,を検索した結果を表示しています。
Weblioに収録されているすべての辞書からmysqli_stmt_prepare,を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からmysqli_stmt_prepare, を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「mysqli_stmt_prepare,」の関連用語

mysqli_stmt_prepare,のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



mysqli_stmt_prepare,のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS