php数据查询计算 php 计算器

thinkphp008. 数据库的数据查询

008. 数据库的数据查询

目前累计服务客户千余家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供网站设计、网站建设、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联建站始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。

本节课我们来了解一下数据库的数据查询方式,单数据、数据集和其它查询。

一.单数据查询

1. Db::table()中table必须指定完整数据表(包括前缀);

2. 如果希望只查询一条数据,可以使用find()方法,需指定where条件;

Db::table('tp_user')-where('id', 27)-find()

3. Db::getLastSql()方法,可以得到最近一条SQL查询的原生语句;

SELECT * FROM `tp_user` LIMIT 1

4. 没有查询到任何值,则返回null;

5. 使用findOrFail()方法同样可以查询一条数据,在没有数据时抛出一个异常;

Db::table('tp_user')-where('id', 1)-findOrFail()

6. 使用findOrEmpty()方法也可以查询一条数据,但在没有数据时返回一个空数组;

7. Db::table('tp_user')-where('id', 1)-findOrEmpty();

二.数据集查询

1. 想要获取多列数据,可以使用select()方法;

Db::table('tp_user')-select(); SELECT * FROM `tp_user`

2. 多列数据在查询不到任何数据时返回空数组,使用selectOrFail()抛出异常; Db::table('tp_user')-where('id', 1)-selectOrFail();

3. 在select()方法后再使用toArray()方法,可以将数据集对象转化为数组;

4. 当在数据库配置文件中设置了前缀,那么我们可以使用name()方法忽略前缀; Db::name('user')-select();

三.其它查询

1. 通过value()方法,可以查询指定字段的值(单个),没有数据返回null;

Db::name('user')-where('id', 27)-value('username');

$user = Db::table('tp_user')-select()-toArray(); dump($user);

2. 通过colunm()方法,可以查询指定列的值(多个),没有数据返回空数组; Db::name('user')-column('username');

3. 可以指定id作为列值的索引;

4. 如果处理的数据量巨大,成百上千那种,一次性读取有可能会导致内存开销过大;

5. 为了避免内存处理太多数据出错,可以使用chunk()方法分批处理数据;

6. 比如,每次只处理100条,处理完毕后,再读取100条继续处理;

7. 可以利用游标查询功能,可以大幅度减少海量数据的内存开销,它利用了PHP生成器特性。每次查询只读一行,然后再读取时,自动定位到下一行继续读取;

Db::name('user')-column('username', 'id');

Db::table('tp_user')-chunk(3, function($users) { foreach ($users as $user) {

dump($user);

}

echo 1; });

$cursor = Db::table('tp_user')-cursor(); foreach($cursor as $user){

dump($user);

}

php查询mysql数据怎么进行计算

php使用mysql查询数据库已经有多少条数据使用sql的count函数实现。

示例代码如下:

?php

//数据库连接

$conn=mysql_connect("localhost","root","root");

if(!$conn){

die("对不起,数据库连接失败! ").mysql_errno();

}

//选择数据库

mysql_select_db("testdb");

//sql语句

$sql="SELECT COUNT(*) AS count FROM user";

//执行sql

$query=mysql_query($sql,$conn);

//对结果进行判断

if(mysql_num_rows( $query)){

$rs=mysql_fetch_array($query);

//统计结果

$count=$rs[0];

}else{

$count=0;

}

echo $count;

?

返回的$count就是当前数据库的记录条数。

php查询计算时,数据太多,能不能停止2秒在往下走,

需要修改php.ini

max_execution_time = 30

另外这个程序……

$bm = mysql_num_rows(mysql_query("$sql"));

$ba = mysql_num_rows(mysql_query("$sqa"));//得到科目一的人数

$bb = mysql_num_rows(mysql_query("$sqb"));//得到科目二的人数

$bc = mysql_num_rows(mysql_query("$sqb"));//得到同时选择2科的人数

你select count(*) 会快几百倍!!!!!!

其实一个sql就可以解决全部问题……

估计你也没有建索引,没分数,就提示你“group by”。


网页名称:php数据查询计算 php 计算器
文章网址:http://hbruida.cn/article/hgojch.html