十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
//多条数据查询 二维数组
10余年建站经验, 网站设计制作、成都网站设计客户的见证与正确选择。成都创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。
while($row = mysql_fetch_array($sql)){
$arr[]= $row;
}
这样的mysql_fetch_array用法是不对的,其引用的参数应该是一个查询结果而不是查询条件!应该结合mysql_query等查询方法使用。
$con = mysql_connect("localhost","root","");//连接数据库
mysql_select_db("btxiazai",$con);//选择数据库
mysql_query("set names utf8");
$sql = "select * from persons order by id desc limit 2";//获取persons中的数据,并按id倒叙排列,取其中两条
$get = mysql_query($sql);//执行sql
while($result = mysql_fetch_assoc($get)){//取回数据
}
PHP查询到的数据存放到数组里面,一般使用$arr[]=$row的方式实现,$row是mysql_fetch_array获得的一行数据,本身是一个数组,执行上面的语句之后,这一行会添加存放在额为数组$arr的最后。
典型的例子代码是这样的:
mysql_connect('127.0.0.1', 'root', '123456');
$sql='select * from test.tab';
if ($res=mysql_query($sql)){
while($row=mysql_fetch_array($res)) $result[]=$row;
mysql_free_resule($res);
}else echo "执行SQL语句:$sqlbr\n错误:".mysql_error();
echo '查询结果在下面的额为数组里面:pre';
print_r($result);
echo '/pre';
该方法是根据一个条件查询一个集合
$admin=Admin::model()-findAll($condition,$params);
$admin=Admin::model()-findAll("username=:name",array(":name"=$username));
$admin=Admin::model()-findAll(“username=:name and age=:age” , array(“:name”=$name, “age”=$age));
$admin=Admin::model()-findAll(“username like :name and age=:age” , array(“:name”=$name, “age”=$age));
$infoArr= NewsList::model()-findAll("status = '1' ORDER BY id DESC limit 10 ");
你这不是只查询了一条,而是你只输出了一条罢了
$sql="select * from product ORDER BY rand() LIMIT 4 ";
$mysql=mysql_query($sql);
while($row=mysql_fetch_assoc($mysql)){
//循环输出记录
print_r($row);
}
当然,如果你的记录不足4条,也没法显示出来