那么检查一行是否存在的最佳方法是什么?EXISTS,COUNT还是num_rows?

Sup*_*Spy 9 php mysql

如果您的唯一目标是检查php中是否存在行(true或false),那么最好的方法是什么?

选项1?

$result = mysql_query("SELECT * FROM users WHERE id = '1'");
$num_rows = mysql_num_rows($result);

if ($num_rows == 1) 
    // one user, like it should be.

else 
  // do something else
Run Code Online (Sandbox Code Playgroud)

选项2?

$query = mysql_query("select count(1) from users where id = 1")

if (mysql_result($query, 0) == 1)
    // one user, like it should be.

else 
  // do something else
Run Code Online (Sandbox Code Playgroud)

选项3?

$query = mysql_query("something like SELECT EXISTS( SELECT */1/COUNT(*)/etc. ...)")

if (mysql_result($query, 0) == 1)
    // one user, like it should be.

else 
  // do something else
Run Code Online (Sandbox Code Playgroud)

Beter选项4?

你说出来的.

子问题

  • COUNT(*), COUNT(1) or COUNT(id)

tre*_*rmf 5

如果您使用MySQL,选项3是检查行是否存在的最快方法:

$query = mysql_query("SELECT EXISTS(SELECT 1 FROM users WHERE id = 1)")

if (mysql_result($query, 0) == 1)
    // one user, like it should be.

else 
  // do something else
Run Code Online (Sandbox Code Playgroud)