0

何を書けばいいのかわかりません。単純でなければなりませんが、理解できません。やりたいSQLリクエストがあります。

簡単なリクエスト:

SELECT name FROM #table WHERE id=$id AND  phone='$phone'

$phone 変数を提供していないか空であるとしましょう。select ステートメントからすべての AND phone='$phone' を削除できますか。そうなるだろう

SELECT name FROM #table WHERE id=$id
4

4 に答える 4

2

おそらくこのクエリを作成しているので、動的に作成してください。基本的なロジックは次のようになります。

if ($phone == '') {
   $sql = "SELECT name ... WHERE id=$id"
} else {
   $sql = "SELECT name ... WHERE id=$id AND phone='$phone'";
}
于 2013-07-18T16:21:32.470 に答える
1

なぜこれではないのですか?

SELECT name FROM #table WHERE id=$id AND (phone='$phone' or '$phone' = '')

[電話] のインデックスによるパフォーマンスのトラブルシューティングを行っていますか?

于 2013-07-18T16:23:19.443 に答える
0

$phone変数が最初に設定されているかどうかを確認します。

ここでは、 phone 変数が整数であると想定しています。

if($phone AND isset($phone)) {
   $phone = intval($phone);
   if($phone) {
       // sql query with the phone variable
   } else {
       // sql query without the phone variable
   }
}
于 2013-07-18T16:23:25.927 に答える