-2

快速提问:

如何检查mysql中是否已经存在行?

我知道有些人会建议使用 mysql_num_rows(),我已经尝试过但没有用。

这是PHP代码:

...

$chk = mysql_query("SELECT * FROM f_table WHERE f = '$id' AND h = 'h' AND status = '1'");

if(mysql_num_rows($chk) > 0){
    $msg = 'exist';
}else{
            $msg = 'gotta';
    }

Ps:我刚刚注意到php手册建议我们使用其他的而不是'mysql_num_rows()',而我的mysql版本是5.0。有关系吗?

谢谢你的时间。

4

2 回答 2

1

如果您不打算使用这些行,只需执行SELECT COUNT(*) FROM .... 否则, mysql_num_rows 应该可以工作,即使这个 API 已被弃用。

于 2012-12-11T15:43:45.110 回答
1

通常,您希望让 MySQL 进行计数,而不是获取所有行。MySQL 可以使用索引并且不必检索所有数据,这可能会更有效:

$result = mysql_query('SELECT COUNT(*) as `count` FROM ...') /* or die(mysql_error()) */;
$row = mysql_fetch_assoc($result);

if ($row['count'] ...)
于 2012-12-11T15:45:00.990 回答