Loading...

PDO bindParam 和 bindValue 差別在哪裡?

Temperature: 0 °C

Mark ChangMark Chang
author_tools
首先 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

Prev
 codeing_像極了愛情

Next
要如何知道ajax執行失敗原因 

About the Author

Mark Chang

離不開電腦的宅男

Visitor message

Leave some footprints to prove that you visited me

Recommended reading

Author's other related stories

Android UI設計距離課題

Android UI設計距離課題

layoutmarginTop指定該屬性所在控件距離上方的位置空間。...

Linux vi修改文件時遇到:E212無法打開文件進行寫入

Linux vi修改文件時遇到:E212無法打開文件進行寫入

執行修改 vi /etc/ssh/sshdconfig 使用wq(儲存後離開)或者是...

PHP如何設定HTTP安全標頭?

PHP如何設定HTTP安全標頭?

PHP該如何將以下安全標頭添加到網站? XFrameOptions  防止點擊劫持攻擊...

Please select an option

error

Hi, thank you for your participation, but you cannot vote repeatedly~

Join innstory now and start recording your story.

"Innstory" is a place to store stories. We are committed to becoming a warm platform. Deepening the bonds between people is our direction.
We are convinced that the blockchain between people is not just a cold calculation. Join us now.

Wrong format