正文
php返回查询条数据 php返回对象
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
如何在PHP中获取MYSQL数据库返回的数据的行数?
1、首先打开MYSQL的管理工具,新建一个test表,并且在表中插入两个字段。
2、接下来在Editplus编辑器中创建一个PHP文件,然后进行数据库连接,并且选择要操作的数据库。
3、然后通过mysql_query方法执行一个Insert的插入语句。
4、执行完毕以后,我们回到数据库管理工具中,这个时候你会发现插入的中文乱码了。
5、接下来我们在PHP文件中通过mysql_query执行一个set names utf8语句即可完成操作。
PHP如何输出数据库的每条数据?
结果已经有了,我就说下这句话的区别\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会自动停止循环
怎么在一个php文件返回两条查询结果的json数据
整合到一个数组中,返回这个数组。
$array['list1'] = $a;
$array['list2'] = $b;
return $array;
php数据多影响返回速度吗
框架用的是ci,数据库是sqlsrv(sql server 2008),sql查询返回的结果集有2万条数据,我在ci框架里面执行这个sql语句,网页一直在转圈,2万条数据要转30秒左右,但是我的sql语句在sql server 2008 R2 里面执行 是秒查,在ci里面用自带查询sql执行时间是200毫秒,,说明我的语句并不慢。个人觉得应该是返回数据太多导致慢的,返回的是2万条数据,20个字段左右,,因为我做的是统计 ,要把数据导出成csv文件,所以数据比较多,这个该怎么处理?
我的sql 语句是select * from table where create_time between 'xxxx-xx-xx 00:00:00' and 'xxxx-xx-xx 23:59:59'; 是根据时间段来的 如果用户选择的时间范围小 那数据就少 如果范围大 那数据就大 数据大的时候就很慢
public function aa(){
$sql ="select * from table where create_time between 'xxxx-xx-xx 00:00:00' and 'xxxx-xx-xx 23:59:59'";
$result=$this-db-query($sql)-result_array();
}
这已经是最简单的查询了,sql语句秒查,但是用浏览器执行就很慢,
我在浏览器里面执行 , 如果查询结果几万条的话 浏览器就一直转圈,要等四十多秒,500条足有数据是3、4秒
我在想是不是result_array()这一步 需要循环需要花费太多的时间,本身记录就有几万条,然后还有二十个字段
==============2017-05-16 16:01更新===============
我没有用ci框架自带的result_array() ,查看ci框架文档的时候看到一段话:
经常的,你会需要提供一个数据库的 connection ID 或是一个 result ID, connection ID 可以这样来
$this-db-conn_id;
result ID 可以从查询返回的结果对象获取,像这样:
$query = $this-db-query("SOME QUERY");
$query-result_id;
于是我修改了我的代码 拿 result_id 去循环读取每条记录
$sql ="select xxx";
$query=$this-db-query($sql);
//这里因为我用的是sqlsrv 所以使用的是sqlsrv_fetch_array 来循环读取每一行
//然后每读一行 就写如csv文件
while($row=sqlsrv_fetch_array($query-result_id,SQLSRV_FETCH_ASSOC)){
//这里是把row 写入csv文件的代码
}
具体的代码就是下面了
$sql="xxx";
$query=$this-db-query($sql);
$filename= "CostDetail.csv";//导出的文件名
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
// 打开PHP文件句柄,php://output 表示直接输出到浏览器
$fp = fopen('php://output', 'a');
// 输出Excel列名信息
$head = array(xxx);
foreach ($head as $i = $v) {
// CSV的Excel支持GBK编码,一定要转换,否则乱码
$head[$i] = iconv('utf-8', 'gbk', $v);
}
// 将数据通过fputcsv写到文件句柄
fputcsv($fp, $head);
// 计数器
$cnt = 0;
// 从数据库中获取数据,为了节省内存,不要把数据一次性读到内存,从句柄中一行一行读即可
$limit = 5000;
while ($row=sqlsrv_fetch_array($query-result_id,SQLSRV_FETCH_ASSOC)){
$cnt ++;
if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题
ob_flush();
flush();
$cnt = 0;
}
//这里是把每个字段的编码转成gbk
$newRow[] = $this-_mb_convert_encoding($row['edis_orgsoid']);
....
unset($row);
fputcsv($fp, $newRow);
unset($newRow);
}
exit;
这样能导出文件 但是我看了一下 19204行的,16列 的csv文件 3M左右 , 需要40-45秒的时间才能导出好,,我想问这时间还能优化的再快点吗
php怎么获取数据库查询返回的结果
从查询结果取值,需要遍历结果集!示例如下:
$rs = mysql_query("select * from www_liu where xx='$xx' and yy='$yy'");
echo "查询信息如下:br/";
while($row = mysql_fetch_array($rs))
{
echo $row['字段2'] . "=====" . $row['字段三'];
echo "br /";
}
//关闭数据库连接
//mysql_close();
PHP返回多个查询的数据
$db = mysql_connect("localhost", "netyang","yang");
mysql_select_db("shiyan",$db);
$sql="select * from BIAO where name like 'a%'";
$result = mysql_query($sql);
while ($myrow=mysql_fetch_assoc($result)){
printf("ID: %s \n", $myrow["id"]);
printf("MingCheng: %s\n ", $myrow["mingcheng"]);
printf("GuiGe: %s\n ", $myrow["guige"]);
printf("DanWei: %s\n ", $myrow["danwei"]);
printf("ShuLiang: %s\n ", $myrow["shuliang"]);
}
附:你的程序逻辑应该整理一下,有点乱。
这样你放到数据库,运行一下看看行不!
php返回查询条数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php返回对象、php返回查询条数据的信息别忘了在本站进行查找喔。