簡體   English   中英

PDO准備語句:在綁定多個值以進行查詢時遇到麻煩

[英]PDO Prepared Statements: having trouble binding multiple values to query

我是PDO和准備好的語句的新手,在將多個值綁定到查詢時遇到麻煩。 我沒有問題,如果只是在進行SELECT的時候,例如:

SELECT foo FROM table WHERE id=:something // no problem

但是多個,並試圖插入我陷入困境:

Insert INTO mytable (field1, field2) VALUES (:value1, :value2) // No bueno 

嘗試了幾種不同的方式,並在此處閱讀了其他文章,但沒有運氣。 以下是我遇到問題的示例:

$insertSQL = $db->prepare("INSERT INTO voting_poll (ipaddress, choice) 
    VALUES (':ipaddress', :value)");
    $insertSQL->bindParam(':ipaddress', getenv('REMOTE_ADDR'), PDO::PARAM_STR);
    $insertSQL->bindParam(':value', $_POST['radio'], PDO::PARAM_STR);
    $insertSQL->execute();

我收到以下錯誤: 無效的參數編號:綁定變量的數量與令牌的數量不匹配

  1. 您不要在參數周圍加上引號。 在查詢中刪除:ipaddress周圍的引號。

  2. bindParam()必須與變量一起使用,因為它將參數綁定到變量引用。 如果要使用值(例如,從getenv()類的函數返回的值),請使用bindValue()代替。

暫無
暫無

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

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