準備されたステートメント内の変数とパラメーター間の不一致を解決するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-22 12:19:03
オリジナル
196 人が閲覧しました

How to Resolve Discrepancy Between Variables and Parameters in Prepared Statements?

bind_param: 準備されたステートメント内の変数とパラメーターの不一致

コード スニペットでエラーが発生しました: 「変数の数が数値と一致しません」準備されたステートメント内のパラメータの数。」これは、bind_param() 関数の変数とプリペアド ステートメントのプレースホルダー (?) の間に不一致があることを示しています。

これを解決するには、プリペアド ステートメントですべての変数が疑問符に正確に置換されていることを確認してください。以下の修正コードに見られるように、疑問符の周りの引用符を削除します。

$stmt = $mysqli->prepare("
    SELECT DISTINCT model FROM vehicle_types WHERE year = ? AND make = ? ORDER by model
");
$stmt->bind_param('is', $year, $make);
$stmt->execute();
ログイン後にコピー

疑問符の数は、bind_param() に渡される変数の数と常に一致する必要があります。元のコードには 2 つの変数 ($year、$make) がありましたが、準備されたステートメントには疑問符が 1 つしかなく、エラーが発生しました。

さらに、変数のデータ型がデータと一致していることを確認してください。データベース列のタイプ。たとえば、データベースの year 列が整数の場合、バインドする前に $year を整数としてキャストする必要があります。

以上が準備されたステートメント内の変数とパラメーター間の不一致を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!