2016-05-23 7 views
-2

これらのクエリが1つのクエリで与えるすべての結果を取得したいと思います。複数のwhere句が1つのmysqlクエリに含まれます

1- $query = mysql_query("select * from table where view='1'"); 
2- $query = mysql_query("select * from table where view='2'"); 
3- $query = mysql_query("select * from table where view='3'"); 
4- $query = mysql_query("select * from table where view='4'"); 
. 
. 
. 
999999- $query = mysql_query("select * from table where view='999999'"); 

どうすれば簡単に行うことができますか?

+1

使用 'あなたのケースでand'と' or' or' – robert

+0

はないですか '使用mysql_ *関数を使用してください:https://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php/14110189 –

+1

それは静的なリストか '1'から '999999'ですか? – chris85

答えて

6

いくつかの方法の例です。レンジの使用INない場合

SELECT * FROM table WHERE view BETWEEN 1 AND 999999 

:この極端な場合(または任意の範囲)についてBETWEENを使用

SELECT * FROM table WHERE view IN (1,2,3,4,999999) 
+0

ありがとう、私はもう一度、私がしたいことをするために残されたもう一つのことが、一度重複した結果を得る方法である必要があります。私は、3つの結果に「7つのビュー」がある場合、1つの結果を得たいと考えています(同じ結果が3回、1回だけ必要です)。これどうやってするの? –

+0

'SELECT *'を使って 'DISTINCT'を使うことはできませんが、' SELECT * FROM table WHERE view BETWEEN 1 AND 999999 GROUP BY view'を実行することができます ' – AbraCadaver

+0

それは機能します!どうもありがとうございます!私は本当にあなたのすべての助けとサポートに感謝:)) –

3

あなたは>=<=オペレータのペアを使用することができます。

$query = 
mysql_query("select * from table where view >= '1' AND view <= '999999'"); 
2

それはシリアル化された数字

$query = mysql_query("select * from table where view between 1 and 999999"); 

だ場合、それは個別の番号

$query = mysql_query("select * from table where view in(1, 2, 3, 10, 16, 88)"); 

だ場合も、使用することをお勧めしていませんmysql_queryはremovedからPHP 7を使用しています代わりにpreapreとpdoまたはmysqliがここにSQLインジェクション

を防ぐために、PDO

$query = $pdo->prepare("select * from table where view between ? and ?"); 
$query->execute([1,99999]); 
関連する問題