十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
// 这是因为你从资源型结果集中获取数据时只获取了一次, 如果查询为多条数据应该迭代资源型结果集
目前累计服务客户上千多家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供成都网站建设、成都网站制作、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。
$r = mysql_query($sql); // 你的结果集
$result = [];
while (true) {
$ary = mysql_fetch_assoc($r); // 取出第一条数据, 数据指针向后移动一位
if ($ary) {
$result[] = $ary; // 存储到结果数组中
} else {
break; // 如果取出的结果为false, 则代表数据获取完毕, 终止循环
}
}
echo 'pre';
print_r($result); // 打印最终结果
echo '/pre';
多表查询的话,表与表之间要有关联字段。
例外,应该用join查询, 比如:
select * from 表1 left join 表2 on 表2.uid = 表1.id where 表1.字段 = 'XXXX'
1. 查看具体值:
echo $result[0];
2. 打印数组(使用源代码看的情况下会很清楚)
print_r($row);
3. 使用php自带的调试函数看数据结构:
var_dump($row);
结果已经有了,我就说下这句话的区别
mysql_select_db,字面上就能理解,选择数据库
去PHP手册中可以发现该函数的返回值是bool,也就是布尔值
bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
只是确定操作是否成功
$result = mysql_query($sql, $link); // 执行查询语句
是执行查询语句,这时返回的是
resource mysql_query ( string $query [, resource $link_identifier ] )
资源符号,通过var_dump($result)可以看到该变量的类型,不是数组
随后通过mysql_fetch_array($result);获取实际查询语句所能获取的数据
每次操作,返回一行数据
该操作会变相的移动该资源的指针,PHP的概念里面没有指针,但需要知道该函数可以多次执行
概念和foreach一致
所以通过
while ($bookInfo = mysql_fetch_array($result)){
}
可以获取所有的行数据
如果没有数据会返回false,所以while会自动停止循环