检查mysql表php中是不是存在任何记录

Posted

技术标签:

【中文标题】检查mysql表php中是不是存在任何记录【英文标题】:checking if any record exists in mysql table php检查mysql表php中是否存在任何记录 【发布时间】:2012-12-21 23:45:26 【问题描述】:

我已经创建了下面的函数;

要检查数据库中是否存在记录,如果记录存在则应返回 true,否则返回 false,并且当前返回行的第四列,即字段 $row['isannounced']。

该值为真或假。但问题是如果该行是空的,行数仍然是 1。有没有更好的方法来处理这个问题?

提前致谢。

function isnotificationannounced($dspid, $clldsq, $clldtm)
//echo 'in : isnotificationannounced<br>';

$res=false;
$qry = "SELECT * FROM tbl_maindisplay_notification where (clldsq='$clldsq' AND clldtm='$clldtm' AND dspid='$dspid')";
//echo $qry;
    $result = querydb($qry);
    if ($result) 
        $row = mysql_fetch_array($result);
        //echo 'row data:<br>';print_r($row);
        if(count($row)>0)
                $res=$row[4];
                //print_r($row);
                   
     else 
        die("existsindb: Query failed");
    
    unset($clldsd, $clldtm, $tdcode);
return $res;

【问题讨论】:

【参考方案1】:

使用 mysql_num_rows($result) insted of count($result)

谢谢。

【讨论】:

【参考方案2】:

使用 select * ,您正在查询完整的表格内容。

尝试使用 select count(*) from ,并检查返回值。

【讨论】:

【参考方案3】:

请把条件改成这个....

if(count($row)>0 && $row[4] != "")
                $res=$row[4];
                //print_r($row);
          

【讨论】:

【参考方案4】:

我认为你需要看看这篇文章: MySQL SELECT only not null values

引入第二个条件来检查值是否不为空。

【讨论】:

【参考方案5】:
function isnotificationannounced($dspid, $clldsq, $clldtm)
//echo 'in : isnotificationannounced<br>';

$res=false;
$qry = "SELECT * FROM tbl_maindisplay_notification where (clldsq='$clldsq' AND clldtm='$clldtm' AND dspid='$dspid')";
//echo $qry;
    $result = querydb($qry);
    if ($result) 
        $row = mysql_fetch_array($result);
        //echo 'row data:<br>';print_r($row);
        if(empty($row))
            $res=true;
        else
                $res=$row[4];
                //print_r($row);
        

     else 
        die("existsindb: Query failed");
    
    unset($clldsd, $clldtm, $tdcode);
return $res;

谢谢大家..

我已将代码更新到上面,如果您有任何建议/建议,请告诉我。

【讨论】:

此函数返回错误信息; $row 有时是空的,而我知道该记录存在于 db 中。任何人都可以帮助我,因为我需要准确的信息。我实际上在做什么;首先,我今天每 5 秒从表 A 中获取数据,最多 100 条记录。然后在另一个表 B 中检查它,如果它存在于表 B 中并且是否已宣布..

以上是关于检查mysql表php中是不是存在任何记录的主要内容,如果未能解决你的问题,请参考以下文章

检查mysql中是不是存在表

MySQL,使用SQL检查表中是不是存在列

使用 PHP/PDO 检查数据库表是不是存在

PHP在更新SQL表之前检查文件是不是存在

PHP:每 10 秒检查一次 mysql 数据库是不是有任何新行

如何检查一个值是不是已经存在以避免重复?