首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查MYSQL查询是否为空

问检查MYSQL查询是否为空
EN

Stack Overflow用户
提问于 2016-05-17 04:43:54
回答 5查看 254关注 0票数 1

我希望根据查询是否为null来设置if条件,并打印两个不同的表。以下是我的密码。

代码语言:javascript
复制
$number_of_date= "SELECT SUM(number_of_date) AS number_of_date
                    FROM emp_leaves
                    WHERE emp_id='$userID'
                      AND leave_category='Annual'
                      AND apply_year='$year'";
$number_date = mysql_query ($number_of_date);

if (($number_date == 'NULL'))
{

    $result2 = "SELECT * FROM leave_info
                  WHERE employment_type='permanent'
                    AND leave_type='annual'";
    $sql2 = mysql_query ($result2);

    while($row = mysql_fetch_array($sql2)) {
       ?>
    <tr>
      <td><?php echo $row["leave_type"]?></td>
      <td><?php echo $row["leave_count"]?></td>
      </td></tr><?php }
}
else
{
    $sql = "SELECT * FROM emp_leaves
              WHERE emp_id='$userID'
                AND leave_category='Annual'
              ORDER BY leave_id DESC limit 1";
    $result = mysql_query ($sql);

    while($row = mysql_fetch_array($result)) {
    ?>
    <tr>
        <td><?php echo $row["leave_category"]?></td>
        <?php }?><?php
    while($row11 = mysql_fetch_array($number_date)) {
            ?>
            <td><?php echo $row11["number_of_date"]?></td><?php } } ?>
    </tr>

但是,“如果”条件是无效的。什么才是创造条件的正确方法。任何人请救救我!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-05-17 04:49:37

试试看

代码语言:javascript
复制
    $number_of_date= "SELECT SUM(number_of_date) AS number_of_date
                      FROM   emp_leaves
                      WHERE  emp_id='$userID' AND
                             leave_category='Annual' AND
                             apply_year='$year'";

    $res_qry     = mysql_query($number_of_date) 
                  or 
                  die ('Invalid query :: <br/>'.$number_of_date.
                                       ' <br/>'.mysql_error());

    $rowqry      = mysql_fetch_assoc($res_qry);
    $number_date = $rowqry ['number_of_date'];

现在使用,$number_date

代码语言:javascript
复制
    if (($number_date == '') || empty($number_date))

如果查询返回NULL,通常PHP将其视为空..。

您还可以尝试is_null()

请告知mysql函数是不推荐的,不建议使用。使用MySQLi或PDO代替。从以下查询中获得引用。

http://php.net/manual/en/book.mysqli.php

http://php.net/manual/en/book.pdo.php

票数 1
EN

Stack Overflow用户

发布于 2016-05-17 04:50:18

您可以使用isset()或空() php函数。

if(isset($number_date))或if(empty($number_date))

编辑

看一看这里

对于选择、显示、描述、解释和其他返回结果集的语句,mysql_query()在成功时返回资源,在错误时返回FALSE。 对于其他类型的SQL语句,INSERT、UPDATE、DELETE、DROP等,mysql_query()在成功时返回TRUE,错误时返回FALSE。

所以请试试这个。

if (mysql_query ($number_of_date))或在您的代码中像这样编辑。

if (($number_date == true))

票数 2
EN

Stack Overflow用户

发布于 2016-05-17 05:04:58

检查查询是否执行或结果没有一行

代码语言:javascript
复制
  if (!$number_date or count($number_date) < 1){
      if(mysql_error()){
          die('Invalid query: ' . mysql_error());
        }
    }

mysql_query($sql)执行查询并返回结果,我们需要检查,查询是否已执行,是否使用条件if($number_date)表示查询已执行,if(!$number_date)表示查询未执行

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37267314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档