ユーザーの履歴を取得する必要があり、データが相互に依存する 4 つのテーブルがあります。ループを使用してデータを取得できますが、代わりに「where IN ()」句を使用し、前のクエリの出力を内破します。ただし、「WHERE IN()」に提供するリストが空の場合、エラーが返されます。IN() を空にすることはできませんか?
質問する
122 次
2 に答える
1
次のような空の値を先頭に追加できます。IN (0,your values here)
于 2012-08-17T18:21:39.867 に答える
1
IN句の配列を内破するとき、私は2つのことのいずれかを行います
1:クエリを実行する必要があるかどうかを確認します
if(!empty($some_array)) {
//run mysql query
}
else {
// if you need to do something if the array is empty, such as error or set some defaults, do it here
}
2:データベースに存在しない配列イニシライザーの値(たとえば、自動インクリメンタルIDに基づいて選択する場合、デフォルトの配列値としてゼロを使用して、空のデータセットの問題を停止します。ゼロは決して発生しないためです。私のID列にあります)。
$some_array = array(0);
于 2012-08-17T18:23:31.403 に答える