您好,登錄后才能下訂單哦!
bindColumn:綁定一列到一個 PHP 變量(類似于list()函數(shù)為變量賦值)
<?php
//連接數(shù)據(jù)庫函數(shù)
functionconnect() {
try {
$dbh = new PDO("mysql:host=localhost;dbname=test",'root','root');
return $dbh;
} catch(Exception $e){
echo $e->getMessage();
}
}
// 使用bindColumn讀取數(shù)據(jù)
functionreadDataByColumn($dbh) {
$sql = 'SELECT id,name FROM users'; # 讀取users表中id和name字段
try {
$stmt = $dbh->prepare($sql);
$stmt->execute();
/* 通過列號綁定,將ID這一列的值綁定到$id這個變量上 */
$stmt->bindColumn(1, $id);
/* 通過列名綁定,將name這一列字段的值綁定到$name這個變量上 */
$stmt->bindColumn('name', $name);
while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
$data = $id . "\t" . $name . "\t";
echo"<pre>";
print $data;
}
}
catch (PDOException $e) {
print $e->getMessage();
}
}
$dbh = connect(); // 連接數(shù)據(jù)庫
readDataByColumn($dbh); // 使用bindColumn讀取數(shù)據(jù)
?>
運行結(jié)果如下:
1 Michael
2 Andy
3 xiaoming
bindParam:綁定一個參數(shù)到指定的變量名(類似于占位符)
<?php
//連接數(shù)據(jù)庫函數(shù)
functionconnect() {
try {
$dbh = new PDO("mysql:host=localhost;dbname=test",'root','root');
return $dbh;
} catch(Exception $e){
echo $e->getMessage();
}
}
// 使用bindColumn讀取數(shù)據(jù)
functionreadDataByParam($dbh) {
$num = 10;
$username = '%m%';
$sql = 'SELECT id, name FROM users WHERE id < :num and name like :username';
try {
$stmt = $dbh->prepare($sql); // 預處理
$stmt->bindParam(':num', $num, PDO::PARAM_INT); // 數(shù)字類型
$stmt->bindParam(':username', $username, PDO::PARAM_STR); // 字符串類型
$stmt->execute(); // 執(zhí)行SQL語句
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { // $row是一行,使用while依次輸出下一行
$data = $row['id'] . "\t" . $row['name'] . "\t";
echo"<pre>";
print $data;
}
}
catch (PDOException $e) {
print $e->getMessage();
}
}
$dbh = connect(); // 連接數(shù)據(jù)庫
readDataByParam($dbh); // 使用bindColumn讀取數(shù)據(jù)
?>
bindValue — 把一個值綁定到一個參數(shù)(與bindParam類似)
<?php
//連接數(shù)據(jù)庫函數(shù)
functionconnect() {
try {
$dbh = new PDO("mysql:host=localhost;dbname=test",'root','root');
return $dbh;
} catch(Exception $e){
echo $e->getMessage();
}
}
// 使用bindColumn讀取數(shù)據(jù)
functionreadDataByValue($dbh) {
$num = 10;
$username = '%m%';
$sql = 'SELECT id, name FROM users WHERE id < :num and name like :username';
try {
$stmt = $dbh->prepare($sql); // 預處理
$stmt->bindValue(':num', 10, PDO::PARAM_INT); // 數(shù)字類型
$stmt->bindValue(':username', '%m%', PDO::PARAM_STR); // 字符串類型
$stmt->execute(); // 執(zhí)行SQL語句
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { // $row是一行,使用while依次輸出下一行
$data = $row['id'] . "\t" . $row['name'] . "\t";
echo"<pre>";
print $data;
}
}
catch (PDOException $e) {
print $e->getMessage();
}
}
$dbh = connect(); // 連接數(shù)據(jù)庫
readDataByValue($dbh); // 使用bindColumn讀取數(shù)據(jù)
?>
bindParam和bindValue的區(qū)別
<?php
$sex = 'male';
$s = $dbh->prepare('SELECT name FROM students WHERE sex = :sex');
$s->bindParam(':sex', $sex); // use bindParam to bind the variable
$sex = 'female';
$s->execute(); // 將執(zhí)行 WHERE sex = 'female'
使用bindvalue方式:
<?php
$sex = 'male';
$s = $dbh->prepare('SELECT name FROM students WHERE sex = :sex');
$s->bindValue(':sex', $sex); // use bindValue to bind the variable's value
$sex = 'female';
$s->execute(); // 將執(zhí)行 WHERE sex = 'male'
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。