PHP PDOStatement對象bindpram()、bindvalue()和bindcolumn之間的區(qū)別
PDOStatement::bindParam — 綁定一個參數(shù)到指定的變量名。
綁定一個PHP變量到用作預(yù)處理的SQL語句中的對應(yīng)命名占位符或問號占位符。 不同于 PDOStatement::bindValue() ,此變量作為引用被綁定,并只在 PDOStatement::execute() 被調(diào)用的時候才取其值。
PDOStatement::bindValue — 把一個值綁定到一個參數(shù)。
綁定一個值到用作預(yù)處理的 SQL 語句中的對應(yīng)命名占位符或問號占位符。
<?php
$stm = $pdo->prepare("select * from users where user = :user");
$user = "jack";
//正確
$stm->bindParam(":user",$user);
//錯誤
$stm->bindParam(":user","jack");
//正確
$stm->bindValue(":user",$user);
//正確
$stm->bindValue(":user","jack");
//所以使用bindParam是第二個參數(shù)只能用變量名,而不能用變量值,而bindValue至可以使用具體值。
?>
PDOStatement::bindColumn — 綁定一列到一個 PHP 變量。
安排一個特定的變量綁定到一個查詢結(jié)果集中給定的列。每次調(diào)用 PDOStatement::fetch() 或 PDOStatement::fetchAll() 都將更新所有綁定到列的變量。
<?php
function readData ( $dbh ) {
$sql = 'SELECT name, colour, calories FROM fruit' ;
try {
$stmt = $dbh -> prepare ( $sql );
$stmt -> execute ();
/* 通過列號綁定 */
$stmt -> bindColumn ( 1 , $name );
$stmt -> bindColumn ( 2 , $colour );
/* 通過列名綁定 */
$stmt -> bindColumn ( 'calories' , $cals );
while ( $row = $stmt -> fetch ( PDO :: FETCH_BOUND )) {
$data = $name . "\t" . $colour . "\t" . $cals . "\n" ;
print $data ;
}
}
catch ( PDOException $e ) {
print $e -> getMessage ();
}
}
readData ( $dbh );
?>
- JDBC使用Statement修改數(shù)據(jù)庫
- Java使用PreparedStatement接口及ResultSet結(jié)果集的方法示例
- Java使用Statement接口執(zhí)行SQL語句操作實例分析
- Java數(shù)據(jù)庫連接PreparedStatement的使用詳解
- 利用JDBC的PrepareStatement打印真實SQL的方法詳解
- MyBatis綁定錯誤提示BindingException:Invalid bound statement (not found)的解決方法
- PDO預(yù)處理語句PDOStatement對象使用總結(jié)
- JDBC之PreparedStatement類中預(yù)編譯的綜合應(yīng)用解析
- You must SET PASSWORD before executing this statement的解決方法
- JDBC中Statement和Preparement的使用講解
相關(guān)文章
PHP實現(xiàn)15位身份證號轉(zhuǎn)18位的方法分析
這篇文章主要介紹了PHP實現(xiàn)15位身份證號轉(zhuǎn)18位的方法,結(jié)合實例形式分析了15位身份證號轉(zhuǎn)18位的相關(guān)原理與php實現(xiàn)技巧,需要的朋友可以參考下2019-10-10
從MySQL數(shù)據(jù)庫表中取出隨機(jī)數(shù)據(jù)的代碼
這個例子是用于一個簡單的應(yīng)用開發(fā)了,意思就是把現(xiàn)在表中的所有數(shù)據(jù)我們隨機(jī)讀出來一次之后再進(jìn)行隨機(jī)保存到另一個表,從而達(dá)到了記錄隨機(jī)的功能2007-09-09
PHP基于MySQLI函數(shù)封裝的數(shù)據(jù)庫連接工具類【定義與用法】
這篇文章主要介紹了PHP基于MySQLI函數(shù)封裝的數(shù)據(jù)庫連接工具類,結(jié)合實例形式分析了php封裝mysqli函數(shù)實現(xiàn)的數(shù)據(jù)庫操作類定義及連接、增刪改查數(shù)據(jù)庫等基本操作用法,需要的朋友可以參考下2017-08-08
Windows上PHP安裝redis擴(kuò)展和igbinary擴(kuò)展
php擴(kuò)展就是php核心并不支持的功能,通過安裝擴(kuò)展增加PHP的功能,在Windows上有兩種加載PHP擴(kuò)展的方式:把擴(kuò)展編譯進(jìn)?PHP,或者加載?DLL,加載預(yù)編譯的擴(kuò)展是更簡單更被推薦的方式,要加載某擴(kuò)展,需要在系統(tǒng)中有其相對應(yīng)的“.dll”文件2023-10-10

