sql 问号的使用 php_PHP中bindParam和bindValue的区别
點擊藍字關(guān)注我們!每天獲取最新的編程小知識!
源 /?php中文網(wǎng)? ????源 /?www.php.cn
PHP中bindParam和bindValue的區(qū)別
(查看原文請點擊本文末尾左下角:
PDOStatement :: bindParam()函數(shù)是PHP中的內(nèi)置函數(shù),用于將參數(shù)綁定到指定的變量名。此函數(shù)綁定變量,將其值作為輸入傳遞,并接收其相關(guān)參數(shù)標記的輸出值(如果有)。
語法:
bool PDOStatement::bindParam
( $parameter, $variable, $data_type, $length, $driver_options )
參數(shù):此函數(shù)接受如上所述的五個參數(shù),如下所述:
$parameter:它是一個參數(shù)標識符,用于使用名稱占位符準備語句。它是表單的參數(shù)名稱:name。
$variable:此參數(shù)用于保存要綁定到SQL語句參數(shù)的變量名稱。
$data_type:它是使用PDO :: PARAM_ *常量的參數(shù)的顯式數(shù)據(jù)類型。
$length:此參數(shù)用于保存數(shù)據(jù)類型的長度。
$driver_options:該參數(shù)保存需要執(zhí)行的操作。
返回值:此函數(shù)成功時返回True,失敗時返回false。
程序:
// 設(shè)置PDO連接
$db = new PDO('mysql:host=localhost;dbname=phps','root','');?
// 獲得用戶名
$username = 'phpforphp';
$stmt = $db->prepare("SELECT * FROM users WHERE user = :username");
// 使用bindParam函數(shù)
$stmt->bindParam(':username', $username);
?$username = 'g4g';
?$stmt->execute();
?>
注意: SQL語句將使用'g4g'作為用戶名執(zhí)行,因為:username在執(zhí)行時搜索$ username,$ username的最后一個已知值是'g4g'。
PDOStatement :: bindValue()函數(shù)是PHP中的內(nèi)置函數(shù),用于將值綁定到參數(shù)。此函數(shù)將值綁定到SQL中用于準備語句的相應(yīng)命名或問號占位符。
語法:
bool PDOStatement::bindValue( $parameter, $value, $data_type )
參數(shù):此函數(shù)接受上述三個參數(shù),如下所述:
$parameter:它是一個參數(shù)標識符,用于使用名稱占位符準備語句。它是表單的參數(shù)名稱:name。
$value:此參數(shù)用于保存綁定參數(shù)的值。
$data_type:它是使用PDO :: PARAM_ *常量的參數(shù)的顯式數(shù)據(jù)類型。
返回值:此函數(shù)成功時返回True,失敗時返回False。
程序:
// 設(shè)置PDO連接
$db = new PDO('mysql:host=localhost;dbname=phps','root','');?
// 獲得用戶名
$username = 'phpforphp';
$stmt = $db->prepare("SELECT * FROM users WHERE user = :username");
// 使用bindValue函數(shù)
$stmt->bindValue(':username', $username);
$username = 'g4g';
$stmt->execute();
?>
注意:?
SQL語句將使用'g4g'作為用戶名執(zhí)行,因為文字值“phpforphp”已綁定到:bindValue()函數(shù)之前的用戶名。$username的進一步更改不會反映在準備好的聲明中。
bindParam()和bindValue()之間的區(qū)別:
bindParam()
bindParam()函數(shù)將參數(shù)綁定到SQL語句中的命名或問號占位符。
bindParam()函數(shù)用于傳遞變量而不是值。
bindValue()
bindValue()函數(shù)將值綁定到SQL語句中的命名或問號。
bindValue()函數(shù)用于傳遞值和變量。
推薦:《PHP教程》
http://www.php.cn/course/list/29.html
本篇文章就是關(guān)于PHP中bindParam和bindValue的區(qū)別介紹,希望對需要的朋友有所幫助!
-END-
聲明:本文選自「?php中文網(wǎng)?」,搜索「 phpcnnew 」即可關(guān)注!
總結(jié)
以上是生活随笔為你收集整理的sql 问号的使用 php_PHP中bindParam和bindValue的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中天金融是国企吗
- 下一篇: 支付宝绍兴消费券怎么领