関数・クラス解説

sqlsrv_prepare

version:No version information available (公式)

Prepares a query for execution

公式リファレンス

書式

sqlsrv_prepare ( resource $conn , string $sql [, array $params [, array $options ]] ) : mixed

説明

Prepares a query for execution. This function is ideal for preparing a query that will be executed multiple times with different parameter values.

パラメータ

conn
A connection resource returned by sqlsrv_connect().
sql
The string that defines the query to be prepared and executed.
params
An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:
  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:
Array structure
Element Description
$value A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options
An array specifying query property options. The supported keys are described in the following table:
Query Options
Key Values Description
QueryTimeout A positive integer value. Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec TRUE or FALSE (the default is TRUE) Configures the driver to send all stream data at execution (TRUE), or to send stream data in chunks (FALSE). By default, the value is set to TRUE. For more information, see sqlsrv_send_stream_data().
Scrollable SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

返値

Returns a statement resource on success and FALSE if an error occurred.

注意

When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query().

サンプル

例1 sqlsrv_prepare() example

This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute().

$serverName = "serverName\sqlexpress"; $connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn === false) {     die( print_r( sqlsrv_errors(), true)); } $sql = "UPDATE Table_1         SET OrderQty = ?         WHERE SalesOrderID = ?"; // Initialize parameters and prepare the statement.  // Variables $qty and $id are bound to the statement, $stmt. $qty = 0; $id = 0; $stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id)); if( !$stmt ) {     die( print_r( sqlsrv_errors(), true)); } // Set up the SalesOrderDetailID and OrderQty information.  // This array maps the order ID to order quantity in key=>value pairs. $orders = array( 1=>10, 2=>20, 3=>30); // Execute the statement for each order. foreach( $orders as $id => $qty) {     // Because $id and $qty are bound to $stmt1, their updated     // values are used with each execution of the statement.      if( sqlsrv_execute( $stmt ) === false ) {           die( print_r( sqlsrv_errors(), true));     } }

参考

  • sqlsrv_execute() - Executes a statement prepared with sqlsrv_prepare
  • sqlsrv_query() - Prepares and executes a query
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール