<?php
// 连接数据库
include "config.ini";
//选择数据库
mysql_select_db($GLOBALS['mysql_database'], $GLOBALS['con']);
 $arr = array(mysql_query("SELECT * FROM tb_sheepinfo where  stealName='tom'"));
 $arrLength=count($arr);
echo $arrLength;
?>
数据库:
  
我的表中有多条tom记录 但是为什么输出的数组长度却是 “1”?

解决方案 »

  1.   

    不好意思写错了 stealName='tom' 改成stolenName  麻烦大家帮忙看下啊
      

  2.   

    不能单纯的count
    用mysql_num_rows
      

  3.   

     $arr = mysql_query("SELECT * FROM tb_sheepinfo where stolenName ='tom'");
     $arrLength=mysql_num_rows($arr);
      

  4.   

     $arr = array(mysql_query("SELECT * FROM tb_sheepinfo where stealName='tom'"));mysql_query("SELECT * FROM tb_sheepinfo where stealName='tom'")
    返回一个资源对象array(资源对象)
    返回一个只有一个资源对象元素的数组 $arrLength=count($arr);
    因为上述的原因,所以length = 1
      

  5.   

    用了 mysql_num_rows  就什么都不输出了 一片空白啊  怎么回事  谢谢大家帮忙
      

  6.   

    mysql_select_db($GLOBALS['mysql_database'], $GLOBALS['con']); 
     $arr = mysql_query("SELECT * FROM tb_sheepinfo where stealName='tom'");
     $array=mysql_fetch_array($arr,MYSQL_ASSOC);
     $arrLength=count($array['stealName']);
    echo $arrLength;
      

  7.   


    不知道你有没有看上面的留言,都说了mysql_fetch_array等函数只取一条记录了,你这样得出的$arrLength肯定是1.
      

  8.   

    我勒个去...这代码写的..试试这样
    <?php
    mysql_select_db($GLOBALS['mysql_database'], $GLOBALS['con']); 
    $arr=array();
     $result = mysql_query("SELECT * FROM tb_sheepinfo where stealName='tom'");
     while($res=mysql_fetch_array($res)){
     array_push($arr);
     $arrLength=count($arr);
     echo $arrLength; }
    ?>
      

  9.   

    额抱歉修改一下mysql_select_db($GLOBALS['mysql_database'], $GLOBALS['con']); 
    $arr=array();
     $result = mysql_query("SELECT * FROM tb_sheepinfo where stealName='tom'");
     while($res=mysql_fetch_array($res)){
     array_push($arr,$res[0]);
     $arrLength=count($arr);
     echo $arrLength; }
      

  10.   

    额,在修改一下
    <?php
    mysql_select_db($GLOBALS['mysql_database'], $GLOBALS['con']); 
    $arr=array();
     $result = mysql_query("SELECT * FROM tb_sheepinfo where stealName='tom'");
     while($res=mysql_fetch_array($res)){
     $brr=array_push($arr,$res[0]);
     }
    $arrLength=count($arr);
    echo $arrLength;
      

  11.   

    在修改一下啊
    最后一次
    <?php
    mysql_select_db($GLOBALS['mysql_database'], $GLOBALS['con']); 
    $arr=array();
     $result = mysql_query("SELECT * FROM tb_sheepinfo where stealName='tom'");
     while($res=mysql_fetch_array($res)){
     array_push($arr,$res[0]);
     }
    $arrLength=count($arr);
    echo $arrLength;
      

  12.   

    +++
    这个应该是可行的
    $arr = mysql_query("SELECT * FROM tb_sheepinfo where stolenName ='tom'");
     $arrLength=mysql_num_rows($arr);
    echo $arrLength;
      

  13.   

    执行完sql语句,直接count($arr);就ok啦!不用在array一次
     $arr = mysql_query("SELECT * FROM tb_sheepinfo where stealName='tom'");
     $arrLength=count($arr);
    echo $arrLength;
    顺便提醒一下楼主,不能只发帖,不结贴呀 对吧……飘走……
      

  14.   

    那个返回的是 一个资源对象,你就认为那是一大坨粑粑,没拆分,只有取出来才是一团一团的粑粑,mysql_num_rows也就是算资源对象里面有多少个   所以你应该用fetch_array形成一个数组再计算。