php查询mysql指定字段?

$datas=mysql_query("selectipfrom`mmmmmm`where`ip`='$ip';");if(count($datas)>0){//查到就给... $datas = mysql_query("select ip from `mmmmmm` where `ip`='$ip';");
if (count($datas) >0){
//查到就给该记录的“Count”字段加1

}else{
//这里我自己写

}
问题是明明mmmmmm表是空的,为什么count($datas)=1呢?可能是查询语句有问题求大神帮忙!
展开
 我来答
醉丶春风丶
2015-09-18 · TA获得超过522个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:174万
展开全部

mysql_query()  失败返回false

但是 count(false)  的结果是1,这应该是为什么是1 的原因了,你可以试试,而且mysql_query()就算执行成功了返回的也不是一个数组啊,它只是返回一个结果集,

你的那个datas 只是一个资源结果集  或者  是  false;

$t = false;
echo count($t);
//结果是1;
//而且判断这个并不是用count 来判断的;用
mysql_query("select ip from `mmmmmm` where `ip`='$ip';");
if(mysql_num_rows()>0){
    //这个说明查到记录了,并且结果至少有一条;
    //代码块
}else{
    //没查到,语句。。。
}
追问
先谢了,查到后怎么给该记录的“Count”字段加1
dispose
推荐于2016-07-23 · TA获得超过642个赞
知道小有建树答主
回答量:458
采纳率:0%
帮助的人:494万
展开全部

resource mysql_query    ( string $query   [, resource $link_identifier = NULL  ] )


mysql_query 返回的是资源,不论成功与否,都有返回值。所以count以后大于0.


正确例子:

<?php
    mysql_connect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . mysql_error());
    mysql_select_db("mydb");

    $result = mysql_query("SELECT id, name FROM mytable");

    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
        printf ("ID: %s  Name: %s", $row[0], $row[1]);
    }

    mysql_free_result($result);
?>
追问
先谢了,查到后,怎么给查到的记录的“Count”字段加1?
追答
mysql_query("update `mmmmmm` set `count`=`count` + 1 where `ip`='$ip';");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式