準備されたステートメント内のパラメーターの数が、bind_param によってバインドされた変数の数と一致しません。
P粉578343994
P粉578343994 2023-08-22 23:51:55
0
1
426
<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>
P粉578343994
P粉578343994

全員に返信(1)
P粉513316221

準備されたステートメントは間違っています。次のようになります:

リーリー

ステートメントを準備するときは、各変数を引用符ではなく疑問符に置き換える必要があります。引用符内の疑問符はプレースホルダーとして認識されません。

疑問符の数は、bind_param()

の変数の数と同じである必要があります。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!