2016-05-16 8 views
0

値がこのような爆縮値の5,9,1,6,4,8,2,24,14,3のテーブル列を持っている今このようなクエリを実行したいSELECT * FROM table WHERE /* 1 is in array of (imploded_table_column)*/ このようなクエリを実行する方法の手掛かりはありませんアイデアをか私はこのような長い道のりでクエリを実行する必要があります:爆縮値のPHPクエリ

$query = mysqli_query($con, "SELECT * FROM table"); 
$sql = mysqli_fetch_array($query); 
$val = $sql['imploded_column']; 
if(in_array('1', $val)){ 
    //run code here 
} 
+0

問題文を詳しく記入してください。質問がはっきりしない – sAcH

+1

は 'find_in_set'を使います。 –

答えて

1

。あなたがそれをしたい場合は、PHPソリューションとしてin_arrayを使用することができます

SELECT * FROM table WHERE 1 IN (imploded_column); 
SELECT * FROM table WHERE find_in_set(1, imploded_column); 

OR

$sql['imploded_column']を分解して配列にしてください。その後、in_arrayを使用することができます。

$query = mysqli_query($con, "SELECT * FROM table"); 
$sql = mysqli_fetch_array($query); 
$val = explode(",", $sql['imploded_column']); 
if(in_array('1', $val)){ 
    //run code here 
} 
4

私はあなたがFIND_IN_SET機能を探していると思います。

SELECT * FROM table WHERE FIND_IN_SET($yourValue, column-name) 

このFIND_IN_SET関数では、以下のように2つの引数の最初の値を検索します。あなたはmysqlのようにこれをしたい場合は、この問題を解決するためにINまたはfind_in_setを使用することができます

More about FIND_IN_SET function read here

+0

うまくやって、それを守ってください。 –