3

可能重复:
如何检查 PHP 中的 mysql 条目是否为空?

我试图运行一个看似简单的 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>';

  ?>'
4

4 回答 4

8

您可以使用该empty()功能将检查是否有任何东西。

isset()检查字段上的空值 (boolean==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>
        ';
    }
} 
于 2012-08-02T13:24:51.880 回答
2

我正在从单个 MySQL 表中查询数据,并且我想运行一条语句来检测字段是否为空,如果不是,我希望它显示某些内容,如果是,则不显示任何内容。

所以,你有一个结果集,我认为它是一个数组?在这种情况下,您需要检查该值是否不等于空字符串:

if($resultset['fieldname']===' '){
  echo 'fieldname was empty';
}

请注意,使用 isset 的答案实际上是无效的:该值将始终设置,因为该字段存在于结果集中,默认情况下它只是一个空字符串。

编辑:我弄错了empty( )电话,它似乎在检查isset($var) && !$var. 尽管如此,因为您可以控制查询的列,所以不需要 isset 部分,我建议不要empty( )在这种情况下使用。

于 2012-08-02T13:33:13.177 回答
0

从 MySQL 获取数据后尝试

if (!isset($data[0]))
 echo 'Input some data';

或者

if (strlen($data[0])<1)
 echo 'Input some data';
于 2012-08-02T13:25:01.863 回答
0

如果你使用mysql_query,你可以使用

if (mysql_num_rows($result) > 0) {
 echo "There's Data";
}

检查mysql_num_rows()

但最好只使用准备好的语句。

PDO 使用PDO::rowCount()

Mysqli 使用num_rows

于 2012-08-02T13:25:36.013 回答