2011-10-24 7 views
0

私は与えられた項目(配列の3つの値)の$ colorsの配列に分解する$ color_comboの値を持っています。 $ colorsの値は3文字の文字列コード、すなわちFGRであり、そのコードを 'forest green'という色にマッチさせるルックアップテーブルがdb内にありますが、アイテムあたり3色あります。クエリを3回以上実行する必要があります配列:PHP mysqli oo配列のマルチクエリ

$color_combo = 'FGR-BLU-YLW' 
$colors = explode('-', $color_combo); 
$q = $mysqli -> prepare("SELECT color_name from color_table as c WHERE color_code=?"); 
$q->bind_param("s", $colors[]); 

は、だから私はしようとしている:

while (mysqli_multi_query($link, $q)) { 
$result = mysqli_store_result($link)) 
return $result; 
} 

は私が...それは他の機能を使用している場合があります、この場合のシナリオ上のドキュメントを見つけることができませんでしたよ。

$value = $result->fetch_array(); ... or maybe next_result() or more_result() 

その中核に質問、mysqli拡張モジュールとどのようにあなたは、次へのクエリを使用して、コードを変更する必要があります値

答えて

1

のアレイ上でクエリを実行すると、ベストプラクティスの詳細です:

$color_combo = 'FGR-BLU-YLW' 
$colors = explode('-', $color_combo); 
$q = $mysqli ->prepare(" 
    SELECT 
     color_name 
    FROM 
     color_table as c 
    WHERE 
     color_code IN (?, ?, ?) 
"); 

$q->bind_param("sss", $colors[0], $colors[1], $colors[2]); 

文を実行した後、結果には、色名を含むデータベースからの3つの行が含まれるようになりました。この結果をループして色の名前を取得することができます。このコードでは、$ colors配列には常に3つのカラーコードがあるものと仮定しています。

+0

Thx。それは簡単です。 – shotdsherrif

+0

あなたのプロフィールから他の何か、私はまだあなたの質問に対する答えを受け入れていないことがわかります。あなたのために働いた答えの横のチェックマークをクリックすると、これを行うことができます。これにより、あなたの質問を読んだ他のユーザーが、どの回答がうまく機能しているかを簡単に確認することができます。 –

関連する問題