检查数据库中是否存在值

时间:2012-01-09 07:04:19

标签: mysql

检查值是否在数据库中的最佳方法是什么?

我这样做是否正确?

$result = mysql_query("SELECT COUNT(*) FROM table WHERE name = 'John'");
$count = count($result);

4 个答案:

答案 0 :(得分:2)

你可以直接使用,

mysql_num_rows() ;

例如:

$con = mysql_connect($host,$uname,$passwd)
mysql_select_db($dbase,$con); 
$result = mysql_query($query,$con);// query : SELECT * FROM table WHERE name='jhon';

if( ! mysql_num_rows($result)) {
   echo " Sorry no such value ";
}

答案 1 :(得分:1)

我会说是的。

$result = mysql_query("SELECT COUNT(*) AS 'nb' FROM table WHERE name = 'John'");
$line = mysql_fetch_array($result, MYSQL_ASSOC);
$count = $line['nb'];

将为您提供匹配行数。

答案 2 :(得分:1)

是的,你做得对,如果你只关心检查是否有任何记录名称='john'

SELECT COUNT(*) FROM table WHERE name = 'John'

将返回no。名称字段为“John”的记录。如果没有记录则返回0,如果有任何记录,则返回记录数。

但上述查询将错过名称为“John Abraham”或“V john”的条目,甚至包括这些

您可以像这样修改您的查询。

SELECT COUNT(*) FROM table WHERE name like '%John%'

答案 3 :(得分:1)

$result = mysql_query("SELECT COUNT(*) as user FROM table WHERE name = 'John'");
$line = mysql_fetch_array($result, MYSQL_ASSOC);
$count = $line['user'];
if($count!=0)
{
  echo "user exists";
}
else
{
  echo "There is no such user";
}