结果已经有了,我就说下这句话的区别\x0d\x0a\x0d\x0amysql_select_db,字面上就能理解,选择数据库\x0d\x0a\x0d\x0a去PHP手册中可以发现该函数的返回值是bool,也就是布尔值\x0d\x0abool mysql_select_db ( string $database_name [, resource $ link_identifier ] )\x0d\x0a\x0d\x0a只是确定操作是否成功\x0d\x0a\x0d\x0a$result = mysql_query($sql, $link); // 执行查询语句\x0d\x0a\x0d\x0a是执行查询语句,这时返回的是\x0d\x0aresource mysql_query ( string $query [, resource $link_identifier ] )\x0d\x0a\x0d\x0a资源符号,通过var_dump($result)可以看到该变量的类型,不是数组\x0d\x0a\x0d\x0a随后通过mysql_fetch_array($result);获取实际查询语句所能获取的数据\x0d\x0a每次操作,返回一行数据\x0d\x0a该操作会变相的移动该资源的指针,PHP的概念里面没有指针,但需要知道该函数可以多次执行\x0d\x0a概念和foreach一致\x0d\x0a\x0d\x0a所以通过\x0d\x0awhile ($bookInfo = mysql_fetch_array($result)){\x0d\x0a\x0d\x0a}\x0d\x0a可以获取所有的行数据\x0d\x0a如果没有数据会返回false,所以while会自动停止循环
成都服务器托管,创新互联提供包括服务器租用、德阳机房服务器托管、带宽租用、云主机、机柜租用、主机租用托管、CDN网站加速、申请域名等业务的一体化完整服务。电话咨询:18980820575
1. 查看具体值:
echo $result[0];
2. 打印数组(使用源代码看的情况下会很清楚)
print_r($row);
3. 使用php自带的调试函数看数据结构:
var_dump($row);
一、首先你需要在 $result=mysql_query($sql); 这一行之后取一下数据: $row = mysql_fetch_array($result); 具体原因请看我以前回答过的问题:/question/142246646 二、之后查看获取到的数据: 1 查看具体值: echo $rphp怎么输出数据库中的一个数据
读取内容一般使用select语句,输出的话方法比较多,具体的可以参考网上的教程,根据自己的实际需要来选用其中一种,一般都是把数据读取到一个数组参数里面,然后再输出这个数组内容。具体的可以参考下w3school的教程:
先定义头部信息,表示输出一个excel。
然后再以table的形式把数据库的信息循环的echo出来。
?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=xls_region.xls");
$cfg_dbhost = 'localhost';
$cfg_dbname = 'testdb';
$cfg_dbuser = 'root';
$cfg_dbpwd = 'root';
$cfg_db_language = 'utf8';
// END 配置
//链接数据库
$link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
mysql_select_db($cfg_dbname);
//选择编码
mysql_query("set names ".$cfg_db_language);
//users表
$sql = "desc users";
$res = mysql_query($sql);
echo "tabletr";
//导出表头(也就是表中拥有的字段)
while($row = mysql_fetch_array($res)){
$t_field[] = $row['Field']; //Field中的F要大写,否则没有结果
echo "th".$row['Field']."/th";
}
echo "/tr";
//导出100条数据
$sql = "select * from users limit 100";
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)){
echo "tr";
foreach($t_field as $f_key){
echo "td".$row[$f_key]."/td";
}
echo "/tr";
}
echo "/table";
?
// 这是因为你从资源型结果集中获取数据时只获取了一次, 如果查询为多条数据应该迭代资源型结果集
$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';