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( mysql:host=localhost;dbname=phps , root , // 獲得用戶名$username = phpforphp $stmt = $db- prepare( SELECT * FROM users WHERE user = :username // 使用bindParam函數$stmt- bindParam( :username , $username); $username = g4g $stmt- execute(); ?
注意: SQL語句將使用 g4g 作為用戶名執行,因為:username在執行時搜索$ username,$ username的最后一個已知值是 g4g 。
PDOStatement :: bindValue()函數是PHP中的內置函數,用于將值綁定到參數。此函數將值綁定到SQL中用于準備語句的相應命名或問號占位符。
語法:
bool PDOStatement::bindValue( $parameter, $html' target='_blank'>value, $data_type )
參數:此函數接受上述三個參數,如下所述:
$parameter:它是一個參數標識符,用于使用名稱占位符準備語句。它是表單的參數名稱:name。
$value:此參數用于保存綁定參數的值。
$data_type:它是使用PDO :: PARAM_ *常量的參數的顯式數據類型。
返回值:此函數成功時返回True,失敗時返回False。
程序:
?php // 設置PDO連接$db = new PDO( mysql:host=localhost;dbname=phps , root , // 獲得用戶名$username = phpforphp $stmt = $db- prepare( SELECT * FROM users WHERE user = :username // 使用bindValue函數$stmt- bindValue( :username , $username); $username = g4g $stmt- execute(); ?
注意: SQL語句將使用 g4g 作為用戶名執行,因為文字值“phpforphp”已綁定到:bindValue()函數之前的用戶名。$username的進一步更改不會反映在準備好的聲明中。
bindParam()和bindValue()之間的區別:
bindParam()
bindParam()函數將參數綁定到SQL語句中的命名或問號占位符。
bindParam()函數用于傳遞變量而不是值。
bindValue()
bindValue()函數將值綁定到SQL語句中的命名或問號。
bindValue()函數用于傳遞值和變量。
推薦:《PHP教程》http://www.companysz.com/course/list/29.html
本篇文章就是關于PHP中bindParam和bindValue的區別介紹,希望對需要的朋友有所幫助!
以上就是PHP中bindParam和bindValue的區別的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答