如果在while循环中选择的数据库中的任何字段为0,如何检查php / sql?
$res = mysql_query('SELECT id, name FROM table'); \\check here?
while($row = mysql_fetch_array)
{
\\or check here?
}
提前致谢!
编辑: 我需要选择所有字段,然后检查它们中的任何一个是否为0.
答案 0 :(得分:0)
在查询中添加一个where子句
SELECT id, name FROM table where my_field=0
然后你不需要检查每个结果,只得到想要的结果行。
答案 1 :(得分:0)
显然,检查while循环内部。对于查询可能会返回ZERO行。
答案 2 :(得分:0)
$foundZero = false;
$res = mysql_query('SELECT id, name FROM table');
while ($row = mysql_fetch_array($res))
{
if (in_array(0, $row))
{
// This row has a zero
$foundZero = true;
}
}
if ($foundZero)
{
// at least one zero in one row has been found
}
else
{
// No zeros have been found
}
如果$foundZero
为真,则一行中至少有一个字段等于0.否则,所有字段都不为零。
答案 3 :(得分:0)
$res = mysql_query('SELECT count(*) FROM table WHERE my_field=0'); \\check here?
if(mysql_num_rows($res) > 0)
{
while($row = mysql_fetch_array)
{
\\or check here?
}
}
答案 4 :(得分:0)
如果您确实必须返回所有行,然后检查零,请在查询中添加order by子句,以尽量减少检查。
SELECT id, name FROM table ORDER BY id DESC
然后
if ($id <= 0)
handleIt()
else
proceed()