首頁 > 後端開發 > php教程 > PHP中bindParam和bindValue的差別

PHP中bindParam和bindValue的差別

藏色散人
發布: 2023-04-05 11:32:02
原創
3774 人瀏覽過

PHP中bindParam和bindValue的差別

PDOStatement :: bindParam()函數是PHP中的內建函數,用於將參數綁定到指定的變數名稱。此函數綁定變數,將其值作為輸入傳遞,並接收其相關參數標記的輸出值(如果有)。

語法:

bool PDOStatement::bindParam
( $parameter, $variable, $data_type, $length, $driver_options )
登入後複製

參數:此函數接受如上所述的五個參數,如下所述:

$parameter:它是一個參數標識符,用於使用名稱佔位符準備語句。它是表單的參數名稱:name。

$variable:此參數用來儲存要綁定到SQL語句參數的變數名稱。

$data_type:它是使用PDO :: PARAM_ *常數的參數的明確資料類型。

$length:此參數用於保存資料類型的長度。

$driver_options:此參數保存需要執行的操作。

傳回值:此函數成功時傳回True,失敗時傳回false。

程式:

<?php   
  
// 设置PDO连接 
$db = new PDO(&#39;mysql:host=localhost;dbname=phps&#39;,&#39;root&#39;,&#39;&#39;);  
  
// 获得用户名
$username = &#39;phpforphp&#39;; 
     
$stmt = $db->prepare("SELECT * FROM users WHERE user = :username"); 
  
// 使用bindParam函数
$stmt->bindParam(&#39;:username&#39;, $username); 
   
 $username = &#39;g4g&#39;; 
     
 $stmt->execute(); 
?>
登入後複製

注意: SQL語句將使用'g4g'作為使用者名稱執行,因為:username在執行時搜尋$ username,$ username的最後一個已知值是'g4g '。

PDOStatement :: bindValue()函數是PHP中的內建函數,用於將值綁定到參數。此函數將值綁定到SQL中用於準備語句的對應命名或問號佔位符。

語法:

bool PDOStatement::bindValue( $parameter, $value, $data_type )
登入後複製

參數:此函數接受上述三個參數,如下所述:

$parameter:它是一個參數標識符,用於使用名稱佔位符準備語句。它是表單的參數名稱:name。

$value:此參數用於保存綁定參數的值。

$data_type:它是使用PDO :: PARAM_ *常數的參數的明確資料類型。

傳回值:此函數成功時傳回True,失敗時傳回False。

程式:

<?php   
  
// 设置PDO连接
$db = new PDO(&#39;mysql:host=localhost;dbname=phps&#39;,&#39;root&#39;,&#39;&#39;);  
  
// 获得用户名
$username = &#39;phpforphp&#39;; 
    
$stmt = $db->prepare("SELECT * FROM users WHERE user = :username"); 
  
// 使用bindValue函数
$stmt->bindValue(&#39;:username&#39;, $username); 
  
$username = &#39;g4g&#39;; 
    
$stmt->execute(); 
?>
登入後複製

注意: SQL語句將使用'g4g'作為使用者名稱執行,因為文字值「phpforphp」已綁定到:bindValue()函數之前的用戶名。 $username的進一步變更不會反映在準備好的聲明中。

bindParam()和bindValue()之間的區別:

bindParam()

bindParam()函數將參數綁定到SQL語句中的命名或問號佔位符。

bindParam()函數用來傳遞變數而不是值。

bindValue()

bindValue()函數將值綁定到SQL語句中的命名或問號。

bindValue()函數用來傳遞值和變數。

推薦:《PHP教學http://www.php.cn/course/list/29.html

本篇文章是關於PHP中bindParam和bindValue的差別介紹,希望對需要的朋友有幫助!

以上是PHP中bindParam和bindValue的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板