2016-06-29 4 views
0

MySQLでは、mysqli_stmt_bind_paramを使用してパラメータをバインドしました。 sqlsrvでパラメータをバインドするにはどうすればよいですか?PDUsを使用せずにsqlsrvでパラメータをバインドする方法

$sql = "SELECT * FROM dbo.[user] WHERE username = ? and password = ?"; 
$stmt = sqlsrv_prepare($conn, $sql, $params); 
if($stmt === false){ 
die(print_r(sqlsrv_errors(), true)); 
} 

このパラメータはどのようにバインドできますか?これはPHPファイルなので、pdoなしでバインドする必要があります。

+1

あなたが試したことをここで確認してください – dbmitch

答えて

0

他の関数を使用して明示的にパラメータをバインドしていない場合は、文を準備するときに行います。

manualの例を参照してください。

$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)); 
    } 
} 
関連する問題