0
我想從我的數據庫中選擇值,當值!= 0,但我得到的是一個空數組。foreach循環數組sql查詢
在這裏我有一個數組中的所有名稱也在數據庫中。
$array = ['helm' , 'weapon', 'amulet', 'body', 'legs', "boots", 'shield', 'gloves', 'cape'];
然後我放置在foreach循環陣列和放置_name
和_value
名稱後面(在數據庫中它是helm_name = blabla
_helm value = 10
)
當文本通過它放置在字我環後面在我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);
}
但是當我運行它是全部返回我做錯了什麼?
檢查數據庫錯誤值?並首先創建sql字符串,如'$ sql =「SELECT」。$ array_item_name。「FROM player WHERE naam =:naam AND」。$ array_item_value。「!= 0」;'然後'$ sql = $ db-> prepare $ SQL)'? – GetOn
這就是簡單的調試技術;-) – digipenKH
但我如何防止它返回和空陣列?因爲當我回顯$ sql時,它返回'SELECT helm_name FROM player WHERE naam =:naam AND helm_value!= 0'(對於數組中的每個項目,所以helm/weapon etcetc)是正確的,但仍然返回一個空數組有很多列,其值大於0 – GetOn