检查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中是不是存在任何记录的主要内容,如果未能解决你的问题,请参考以下文章