2 回答

TA貢獻1796條經(jīng)驗 獲得超4個贊
SQLSTATE [HY093]:參數(shù)號無效:未定義參數(shù)
不幸的是,這個錯誤不能描述與同一問題相關的一系列不同問題 - 綁定錯誤。它也沒有指定錯誤的位置,因此您的問題不一定在執(zhí)行中,而是已經(jīng)“準備好”的sql語句。
這些是可能的錯誤及其解決方案:
參數(shù)不匹配 - 字段數(shù)與已綁定的參數(shù)不匹配。注意陣列中的數(shù)組。要仔細檢查 - 使用var_dump($ var)。“ print_r ”不一定顯示數(shù)組中的索引是否是另一個數(shù)組(如果數(shù)組中有一個值),而var_dump將會顯示。
您嘗試使用相同的綁定值進行綁定,例如:“:hash”和“:hash”。每個索引都必須是唯一的,即使邏輯上對兩個不同的部分使用相同也是有意義的,即使它是相同的值。(它類似于常量,但更像是占位符)
如果您在語句中綁定了多個值(通常是“INSERT”的情況),則需要bindParam然后將bindValue綁定到參數(shù)。此處的過程是將參數(shù)綁定到字段,然后將值綁定到參數(shù)。
// Code snippet
$column_names = array();
$stmt->bindParam(':'.$i, $column_names[$i], $param_type);
$stmt->bindValue(':'.$i, $values[$i], $param_type);
$i++;
//.....
將值綁定到column_names或table_names時,您可以使用``但不是必需的,但請確保一致。
“單引號”中的任何值始終被視為字符串,不會被讀取為要綁定的列/表名或占位符。
- 2 回答
- 0 關注
- 744 瀏覽
添加回答
舉報