检查值是否在数据库中的最佳方法是什么?
我这样做是否正确?
$result = mysql_query("SELECT COUNT(*) FROM table WHERE name = 'John'");
$count = count($result);
答案 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";
}