快速提问:
如何检查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。它有关系吗?
感谢你的时间。
答案 0 :(得分:1)
如果您不打算使用这些行,只需执行SELECT COUNT(*) FROM ...
即可。否则,即使不推荐使用此API,mysql_num_rows仍然有效。
答案 1 :(得分:1)
通常,您希望让MySQL进行计数,而不是获取所有行。 MySQL可以使用索引而不必检索所有数据,这可能会更高效:
$result = mysql_query('SELECT COUNT(*) as `count` FROM ...') /* or die(mysql_error()) */;
$row = mysql_fetch_assoc($result);
if ($row['count'] ...)