[英]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();
我收到以下錯誤: 無效的參數編號:綁定變量的數量與令牌的數量不匹配
您不要在參數周圍加上引號。 在查詢中刪除:ipaddress
周圍的引號。
bindParam()
必須與變量一起使用,因為它將參數綁定到變量引用。 如果要使用值(例如,從getenv()
類的函數返回的值),請使用bindValue()
代替。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.