0
私のデータベースから値を選択しようとしています!= 0が、私は空の配列です。foreachループ配列のSQLクエリ
ここには、データベースにもあるすべての名前の配列があります。
$array = ['helm' , 'weapon', 'amulet', 'body', 'legs', "boots", 'shield', 'gloves', 'cape'];
テキストがそれを介してワードIループの背後に配置されている場合、私は
(データベースにはhelm_name = blabla
_helm value = 10
ある)foreachループに配列を配置し、名前の後ろに_name
と_value
を配置私query
でいる私がname table (for example helm_name
)とvalue table (for example helm_value)
foreach($array as $array_item){
$array_item_name = $array_item.'_name';
$array_item_value = $array_item.'_value';
$sql = $db->prepare("SELECT ".$array_item_name." FROM player WHERE naam = :naam AND ".$array_item_value." != 0");
$sql->execute(array(":naam" => $naam));
$fetch = $sql->fetchAll(PDO::FETCH_ASSOC);
}
を選択しようが、私はそれがで実行すると、すべてのそれが返されます私は何が間違っていますか?
データベースのエラー値を確認しますか? $ array_item_value "、$ array_item_value"、$ array_item_value "、$ array_item_value"、$ array_item_value "、$ array_item_value"、$ array_item_value "のように最初に' $ sql = "SELECT" $ sql) '? – GetOn
ちょっと単純なデバッグテクニック;-) – digipenKH
しかし、どうやってそれが返って空の配列になるのを防ぐのですか? $ sqlをエコーしたときに、SELECT helm_name FROM player where naam =:naam AND helm_value!= 0'(配列内のすべての項目についてhelm/weapon etcetc)を返しますが、正しいときに空の配列を返します0より上の 'value'を持つ列がたくさんあります – GetOn