首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查数据库中是否存在值

检查数据库中是否存在值
EN

Stack Overflow用户
提问于 2012-01-09 15:04:19
回答 4查看 5.7K关注 0票数 2

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

我做得对吗?

代码语言:javascript
复制
$result = mysql_query("SELECT COUNT(*) FROM table WHERE name = 'John'");
$count = count($result);
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-09 15:10:18

是的,如果您只关心检查是否有name='john‘的记录,那么您这样做是正确的。

代码语言:javascript
复制
SELECT COUNT(*) FROM table WHERE name = 'John'

将返回no。名称字段为'John‘的记录的数量。如果没有记录,它将返回0,如果有任何记录,它将返回记录数。

但是上面的查询将会遗漏名称是'John Abraham‘或'V john’的条目,甚至包括这些条目

您可以像这样修改查询。

代码语言:javascript
复制
SELECT COUNT(*) FROM table WHERE name like '%John%'
票数 1
EN

Stack Overflow用户

发布于 2012-01-09 15:17:39

你可以直接使用,

代码语言:javascript
复制
mysql_num_rows() ;

例如:

代码语言:javascript
复制
$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 ";
}
票数 2
EN

Stack Overflow用户

发布于 2012-01-09 15:08:50

我会说是的。

代码语言:javascript
复制
$result = mysql_query("SELECT COUNT(*) AS 'nb' FROM table WHERE name = 'John'");
$line = mysql_fetch_array($result, MYSQL_ASSOC);
$count = $line['nb'];

将为您提供匹配的行数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8784929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档