資料載入中

胡言亂語

PDO bindParam 和 bindValue 差別在哪裡

首先 bindParam 是綁定變數、bindValue  是綁定值。
以下範例:
bindParam
<?php
try {
$dbh = new PDO("mysql:host=localhost;dbname=test", "root", "");
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare("SELECT * FROM tablename WHERE number = ?");
$stmt->bindParam(1, $test_value, PDO::PARAM_INT);
$test_value = 888;
$stmt->execute();
print_r($stmt->fetchAll());
} catch(PDOException $e) {
echo $e->getMessage();
}
?>

執行正常。

bindValue
<?php
try {
$dbh = new PDO("mysql:host=localhost;dbname=test", "root", "");
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare("SELECT * FROM tablename WHERE number = ?");
$stmt->bindValue(1, $test_value, PDO::PARAM_INT);
$test_value = 888;
$stmt->execute();
print_r($stmt->fetchAll());
} catch(PDOException $e) {
echo $e->getMessage();
}
?>

輸出:Notice: Undefined variable: test_value

以上紀錄。
 

https://innstory.com/story-PDO bindParam 和 bindValue 差別在哪裡-2375

上一篇
 codeing像極了愛情

下一篇
要如何知道ajax執行失敗原因 
  • 1,521
  • 0
  • 0

發表留言

作者簡介

離不開電腦的宅男


推薦閱讀

作者其他相關類別故事

mysql 查詢數據資料是否有重複

mysql 查詢數據資料是否…

Mark Chang 7 年又 209 天 2.2K

有沒有試過資料庫裡上萬筆資料卻不知道是不是有重複的數據? 這時你一定要試試這個查詢方法~  

centos查看對外開放了那些port的指令

centos查看對外開放了那…

Mark Chang 7 年又 33 天 1.8K

輸入指令 得到以下結果 以上紀錄~

php使用PDO獲取結果的方法

php使用PDO獲取結果的方…

Mark Chang 5 年又 121 天 1K

式例如下: 式例如下: fetchstyle控制結果的返回方式,類別如下: 以上紀錄。