2015-09-09 68 views
2

我想检查我的数据库中的任何用户是否在categorie_bit中的值为0或1,并在我的foreach之前检查它。PHP Sql检查是否foreach

我在我的PHP脚本得到这个:

foreach ($database->query('SELECT id,firstname,lastname FROM `staff` WHERE categorie_bit = 1') as $resultRandom) { 
    var_dump($resultRandom); 
} 

伪代码(我想是这样的):

if(categorie_bit = 1) { 
    foreach ($database->query('SELECT id,firstname,lastname FROM `staff` WHERE categorie_bit = 1') as $resultRandom) { 
     var_dump($resultRandom); 
    } 
} else { 
     echo "0"; 
} 
+0

'if result <0'? – aldrin27

+0

我不知道你的意思 – as21

+0

不确定你的伪代码有什么意义。你能用英文来描述你想要做什么吗? – Anders

回答

0

“当然,我想检查我的数据库中的任何用户categorie_bit为0或1我的foreach之前的值”

如何在SQL

... WHERE categorie_bit = 1 OR categorie_bit = 0 

,或者该检查categorie_bit是否设置(假设它可以是0,1或NULL)

WHERE categorie_bit IS NOT NULL 
1

您可以通过使用while循环的迭代,而不是实现同样的事情foreach。在每次迭代的$row变量是来自下表中的行:

$result = $database->query('SELECT * FROM `staff`'); 

while($row = $result->fetch_array(MYSQLI_ASSOC)) { 

    if($row['categorie_bit'] == 0) { 
     //Do something for 0's 
    }  
    if($row['categorie_bit'] == 1) { 
     //Do something for 1's 
    } 

} 
+1

我想这可能是OP想要做的,但为了防止类别位可以有其他值,我稍微改变了一下代码。我希望你不要介意。 – RiggsFolly

+1

你的猜测和我一样好!关于其他可能的值的好处,我只是假设1或0。谢谢! –