成都网站建设设计

将想法与焦点和您一起共享

php类查询数据库 php数据库查询结果处理

thinkphp008. 数据库的数据查询

008. 数据库的数据查询

创新互联专业为企业提供五峰网站建设、五峰做网站、五峰网站设计、五峰网站制作等企业网站建设、网页设计与制作、五峰企业网站模板建站服务,十年五峰做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

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

一.单数据查询

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 session登陆成功后怎么查询数据库

在使用php session进行数据查询时主要有3中方法。第一种是使用函数【mysql_connect()】建立和MYSQL数据库的连接。mysql_connect()是用来建立和MYSQL数据库的连接,一共有5个参数,一般情况下只使用前3个参数,分别是MySQL服务器地址、用户名以及密码。第二种是使用函数【mysql_select_db()】指定要操作的数据库。mysql_select_db()是用来指定要操作的数据库。要是需要操作的数据库还没有创建,则需要创建数据库,然后再创建数据库中的表。第三种是使用函数【mysql_query()】查询指令。mysql_query()是查询指令的专用函数,所有的SQL语句都通过它执行,并返回结果集。一般情况下这三种方法是最适用的,希望可以解决你的问题。

PHP查询MYSQL的内容,并输出结果

1、用navicat新建一个数据库database1。

2、在database1数据库中新建一个表table2。

3、在table2中添加新的数据,新建一个名称为mysql_query的数据库。

4、在页面中用mysql_connect 函数与数据库建立连接。

5、用mysql_select_db函数选择要查询的数据库。

6、添加一个查询 table2表的查询语句“$sql=select * from table2“。

7、将查询语句$sql添加到查询数据库函数mysql_query中,返回值赋值给变量query。

8、最后将mysql_query。php文件在浏览器中打开,查看查询到数据库中的内容的结果。

PHP中写一个数据库查询的类的方法代码要如何写

?php

if(!defined("INCLUDE_MYSQL_OK")) {

define("INCLUDE_MYSQL_OK","");

class MySQL_class {

var $debug = true;

var $db,

$id,

$result, /* 查询结果指针 */

$rows, /* 查询结果行数 */

$fields, /* 查询结果列数 */

$data, /* 数据结果 */

$arows, /* 发生作用的纪录行数目 */

$iid; /* 上次插入操作后,可能存在的"AUTO_INCREMENT"属性字段的值,如果为"0",则为空 */

var $user, $pass, $host, $charset;

/*

* 请注意用户名和密码是否正确

*/

function Setup ($host, $user, $pass, $charset='utf8') {

$this-host = $host;

$this-user = $user;

$this-pass = $pass;

$this-charset = $charset;

}

function Connect ($db = "") {

global $CFG_MYSQL_INFO;

if (!$this-host) {

$this-host = $CFG_MYSQL_INFO["host"];

}

if (!$this-user) {

$this-user = $CFG_MYSQL_INFO["user"]; /* 在这里作修改 */

}

if (!$this-pass) {

$this-pass = $CFG_MYSQL_INFO["passwd"]; /* 在这里作修改 */

}

if (!$this-charset) {

$this-charset = "utf8"; /* 在这里作修改 */

}

if (empty($db))

$this-db = $CFG_MYSQL_INFO["database"];

else

$this-db = $db;

$this-id = @mysql_connect($this-host, $this-user, $this-pass);

if (!$this-id)

return false;

$this-SelectDB($this-db); /* 定位到指定数据库 */

$this-Query("SET NAMES '".$this-charset."'");

return true;

}

function Close(){

@mysql_close($this-id);

}

function SelectDB ($db) {

if(!@mysql_select_db($db, $this-id))

return false;

else

return true;

}

function Begin () {

$this-result = @mysql_query("START TRANSACTION WITH CONSISTENT SNAPSHOT", $this-id);

if (!$this-result)

return false;

return true;

}

function Commit () {

$this-result = @mysql_query("COMMIT", $this-id);

if (!$this-result)

return false;

return true;

}

function Rollback () {

$this-result = @mysql_query("ROLLBACK", $this-id);

if (!$this-result)

return false;

return true;

}

function Escape ($str) {

$escstr = mysql_escape_string($str);

return $escstr;

}

# 普通查询功能,主要用于返回结果是多条记录的情况

# 请使用 Fetch 方法取得每条记录信息

function Query ($query) {

$this-result = @mysql_query($query, $this-id);

if (!$this-result)

{

if ($this-debug)

MySQL_ErrorMsg ("不能执行查询(query): $query");

else

return false;

}

$this-rows = @mysql_num_rows($this-result);

$this-fields = @mysql_num_fields($this-result);

if (!$this-rows) return false;

return true;

}

function QuerySql ($query) {

$ret = @mysql_query($query, $this-id);

if ($ret === false)

{

if ($this-debug)

MySQL_ErrorMsg ("不能执行查询(query): $query");

else

return false;

}

$this-result = $ret;

$this-rows = @mysql_num_rows($this-result);

$this-fields = @mysql_num_fields($this-result);

return true;

}

# 如果查询结果为单条记录时使用,返回结果存储于数组 data 中

function QueryRow ($query) {

$this-result = @mysql_query($query, $this-id);

if (!$this-result)

{

if ($this-debug)

MySQL_ErrorMsg ("不能执行查询(query): $query");

else

return false;

}

$this-rows = @mysql_num_rows($this-result);

$this-data = @mysql_fetch_array($this-result, MYSQL_ASSOC);

//MySQL_ErrorMsg ("不能从查询结果中取得数据 $query");

if (!$this-result || !$this-rows)

return false;

return true;

}

# 移动到指定记录行,将该行结果储存于数组 data 中

function Fetch ($row) {

if(!@mysql_data_seek($this-result, $row))

//MySQL_ErrorMsg ("不能定位到指定数据行 $row");

return false;

$this-data = @mysql_fetch_array($this-result, MYSQL_ASSOC);

//MySQL_ErrorMsg ("不能提取指定数据行数据 $row");

if (!$this-data)

return false;

return true;

}

/* 以下方法将作用于 arows */

/* 此方法将作用于 iid */

function Insert ($query) {

$this-result = @mysql_query($query, $this-id);

if (!$this-result)

{

if ($this-debug)

MySQL_ErrorMsg ("不能执行查询(query): $query");

else

return false;

}

$this-arows = @mysql_affected_rows($this-id);

$this-iid = @mysql_insert_id($this-id);

return true;

}

function Update ($query) {

$this-result = @mysql_query($query, $this-id);

if (!$this-result)

{

if ($this-debug)

MySQL_ErrorMsg ("不能执行查询(query): $query");

else

return false;

}

$this-arows = @mysql_affected_rows($this-id);

if (!$this-arows || $this-arows == -1)

return false;

return true;

}

function Delete ($query) {

$this-result = @mysql_query($query, $this-id);

if (!$this-result)

{

if ($this-debug)

MySQL_ErrorMsg ("不能执行查询(query): $query");

else

return false;

}

$this-arows = @mysql_affected_rows($this-id);

return true;

}

function Error (){

return mysql_error()."(".mysql_errno().")";

}

function Errno (){

return mysql_errno();

}

}

/*

* MySQL_ErrorMsg

* 输出错误信息

*/

function MySQL_ErrorMsg ($msg) {

# 关闭可能影响字符显示的HTML代码

echo("/ul/dl/ol\n");

echo("/table/script\n");

# 错误信息

$text = "font color=\"#000000\" style=\"font-size: 9pt; line-height: 12pt\"p系统提示:".$msg."br";

$text .= "错误信息:";

$text .= mysql_error()."br";

$text .= "错误代码:".mysql_errno()."brbr";

$text .= "请稍候再试,如果问题仍然存在,请与 a href=\"mailto:wuqiong@igenus.org\"系统管理员/a 联系!";

$text .= "/font\n";

die($text);

}

}

?

一些细节的地方自己修改吧 主要是我在别的文件专门定义了全局变量,你看一遍,把应改的地方改一下就好了


本文标题:php类查询数据库 php数据库查询结果处理
文章地址:http://chengdu.cdxwcx.cn/article/doccpjp.html