簡體   English   中英

當PDO中的其他所有工作時,無法執行PDO語句(更新MySQL表)

[英]Cannot execute a PDO statement (update a MySQL table) when everything else in PDO works

這是我在StackOverflow上的第一個問題,你能不能向我解釋一下我做錯了什么:我有這個代碼(下面),但由於某種原因,我試圖調查和調試,我不明白為什么PDO不是完成下面的請求,它以相同的方式插入和回顯工作正常,有人可以告訴我發生了什么? 我沮喪地把頭發拉出腦袋。

    $q = "UPDATE content SET urlid=:url, title=:title, description=:desc, keywords=:key     WHERE urlid=:urlid";
    $query = $pdo->prepare($q);
    $query->execute(array(
        ':url'     => $urlid,
        ':title'   => $title,
        ':desc'    => $desc,
        ':key'     => $key,
        ':contloc' => $contloc,
        ':userid'  => $uid,
        ':urlid'   => $urlid
        //':content' => $content
    ));

我在Apache錯誤日志中收到以下警告:

[2012年7月12日21:07:13] [錯誤] [客戶端99.230.122.54] PHP警告:PDOStatement :: execute():SQLSTATE [HY093]:參數號無效:綁定變量的數量與令牌的數量不匹配/Library/Server/Web/Data/Sites/Default/addto2.php在第31行,referer: http://localhost/sample/4fff30aea1f20

$q = "UPDATE content SET urlid=:url, title=:title, description=:desc, keywords=:key WHERE urlid=:urlid";
$query = $pdo->prepare($q);
$query->execute(array(
    ':url'     => $urlid,
    ':title'   => $title,
    ':desc'    => $desc,
    ':key'     => $key,
    ':urlid'   => $urlid
));

PDO抱怨,因為您傳遞的參數多於在查詢中使用的參數。 或者您可能想在查詢中包含更多參數而忘記了?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM