2

mysqli_stmt::bind_paramPHP スクリプトで関数を使用しています。

パラメータの型 'd' または型 's' などを渡すかどうかを気にするのは便利ではありません。文字列、整数、および double に常に型 's' を使用するのはなぜ悪いのですか?

私が理解している限り、mysql は必要に応じて型変換自体を処理します。

4

1 に答える 1

2

あなたがそれを置く方法は、実際には問題ではありません。唯一の問題は、mysql が厳密モードで実行されている場合です。

とはいえ、実際のところ、開発者は一般的にクエリ部分のタイプを常に意識する必要があります。
文字列や数値だけでなく、識別子などでもかまいません。
そのため、プレースホルダーをtype-hintedにして、ドライバーがクエリ パーツの種類に応じて適切な書式設定を適用できるようにすることをお勧めします。クエリは次のようになります。

SELECT * FROM table WHERE field=?s AND id IN(?a) ORDER BY ?n LIMIT ?i 
于 2013-01-27T10:10:42.393 に答える