首頁 > 資料庫 > mysql教程 > 為什麼 PDO 中的常數值「bindParam」會失敗?

為什麼 PDO 中的常數值「bindParam」會失敗?

Barbara Streisand
發布: 2024-12-05 03:21:10
原創
931 人瀏覽過

Why Does `bindParam` Fail with Constant Values in PDO?

PDO 中常數值的bindParam 錯誤

當嘗試使用具有常數值(例如PDO::PARAM_NULL)的bindParam 時,開發人員可能會遇到錯誤「無法透過以下方式傳遞參數2」參考。 ”

出現錯誤的程式碼片段

try {
    $dbh = new PDO('mysql:dbname=' . DB . ';host=' . HOST, USER, PASS);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
}
catch(PDOException $e)
{
    ...
}
$stmt = $dbh->prepare('INSERT INTO table(v1, v2, ...) VALUES(:v1, :v2, ...)');
$stmt->bindParam(':v1', PDO::PARAM_NULL); // --> Here's the problem
登入後複製

發生錯誤是因為bindParam ,並且在呼叫時不檢索值。綁定常數值的正確方法是bindValue。 (':param', null, PDO::PARAM_NULL),因為它可能不可靠。

以上是為什麼 PDO 中的常數值「bindParam」會失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板