我正在尝试运行看似简单的if语句,但是,我的PHP技能并不是那么好。
我正在查询单个MySQL表中的数据,我想运行一个语句来检测字段是否为空,如果不是我希望它显示某些内容,如果是,则不显示任何内容。
另外,我不确定是否可以将其置于回声中?
编辑:************************ 以下是使事情变得更容易的代码:
我可能做错了什么。这是我的代码,可以更轻松地解释事情
”
if (!$result) {
exit('<p>Error performing query: ' . mysql_error() . '</p>');
}
//creating the table w/ headers
echo '
<table>
<thead>
<tr>
...
<th style="width:90px"><strong><a href="other-items.php?order=oc_retailer">Retailer</a></strong></th>
<th style="width:90px"><strong>Files</strong></th>
</tr>
</thead>';
// Display each item
while ($row = mysql_fetch_array($result)) {
echo '
<tr>
...
<td style="width:90px">' . $row['oc_retailer'] .'</td>
<td style="width:90px"> this is where I want to if statement to go</td>
';
}
echo '</table>';
?>'
答案 0 :(得分:7)
您可以使用empty()
功能检查是否有任何内容。
isset()
检查字段上的null(布尔值== false) - 您也可以使用它。
if(empty($row['yourColumn']))
{
// it's empty!
echo "Nada in the field!.\n";
}
else
{
// Do stuff with the field
}
编辑:我认为这就是你的意思:
while ($row = mysql_fetch_array($result))
{
if(!empty($row['oc_retailer']))
{
echo '
<tr>
...
<td style="width:90px"> this is where I want to if statement to go</td>
';
}
else
{
echo '
<tr>
...
<td style="width:90px">Ruh ohes! The Row was Empty!</td>
';
}
}
答案 1 :(得分:2)
我正在查询单个MySQL表中的数据,我想运行一个语句来检测字段是否为空,如果不是我希望它显示某些内容,如果是,则不显示任何内容。
所以,你有一个数组的结果集,我估计?在这种情况下,您需要检查该值是否等于空字符串:
if($resultset['fieldname']===' '){
echo 'fieldname was empty';
}
请注意,使用isset的答案实际上是无效的:将始终设置该值,因为该字段存在于结果集中,默认情况下它只是一个空字符串。
编辑:我误解了empty( )
来电,似乎检查了isset($var) && !$var
。尽管如此,因为您可以控制查询的列,所以不需要isset部分,我建议不要在这种情况下使用empty( )
。
答案 2 :(得分:0)
从MySQL获取数据后尝试
if (!isset($data[0]))
echo 'Input some data';
或
if (strlen($data[0])<1)
echo 'Input some data';
答案 3 :(得分:0)
如果您使用mysql_query
,则可以使用
if (mysql_num_rows($result) > 0) {
echo "There's Data";
}
但最好只使用预备声明。
PDO使用PDO::rowCount()
Mysqli使用num_rows