準備されたステートメント内のパラメーターの数が、bind_param によってバインドされた変数の数と一致しません。
<p>これが私のコードスニペットです: </p>
<pre class="brush:php;toolbar:false;">$stmt = $mysqli->prepare("SELECT DISTINCT モデル FROM vehicle_types
WHERE year = ? AND make = '?' モデルで注文します");
$stmt->bind_param('is', $year, $make);
$stmt->execute();</pre>
<p>$year と $make の値を出力すると値が表示されますが、このスクリプトを実行すると null 値が取得され、ログ ファイルに次の警告が表示されます。
<ブロック引用>
<p>PHP 警告: mysqli_stmt::bind_param(): 変数の数がプリペアド ステートメントのパラメータの数と一致しません</p>
</blockquote>
<p>この場合、データベース内の年の型は int(10) なので、渡すために int 型に変換してみました。make は utf8_unicode_ci エンコーディングの varchar(20) です。何か足りないものはありますか? </p>