在使用 MySQL 的 PHP 腳本中,您面臨執行準備好的語句時出現問題並收到警告「變數數量與準備好的語句中的參數數量不符」。當準備好的語句中問號的數量與bind_param()方法中綁定的變數的數量不一致時,就會發生這種情況。
要解決此問題,請確保準備好的語句中問號的數量與傳遞給bind_param()的變數數量相符。以下是一個修正後的程式碼片段範例:
<code class="php">$stmt = $mysqli->prepare("SELECT DISTINCT model FROM vehicle_types WHERE year = ? AND make = ? ORDER by model"); $stmt->bind_param('is', $year, $make); $stmt->execute();</code>
在此範例中,準備好的語句包含兩個問號,bind_param() 方法綁定兩個變數 $year 和 $make。 'is' 中的第一個字母指定第一個參數的類型(整數),第二個字母指定第二個參數的類型(字串)。
記住,在準備語句時,必須替換每個帶問號且不帶引號的變數。引號內的問號不會被解釋為佔位符。
以上是為什麼使用準備好的語句在 MySQL 中收到「變數數量與參數數量不符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!