php查询数据库类 php查询数据库内容

thinkphp008. 数据库的数据查询

008. 数据库的数据查询

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、网站设计、鲤城网络推广、重庆小程序开发公司、鲤城网络营销、鲤城企业策划、鲤城品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供鲤城建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

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

一.单数据查询

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中写一个数据库查询的类的方法代码要如何写

?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查询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

/**

*

@param

string

$url

地址url

*

@return

$array

返回url对应的id

*/

function

getid($url){

//连接数据库

mysql_connect('localhost','root','user')

or

die('数据库链接失败');

//不清楚数据库名称,这里用dbname代表数据库名称。需要替换为实际的数据库名称

mysql_select_db('dbname');

mysql_query('set

names

utf8');//如果页面编码是utf-8的。这里设置查询的编码为utf-8

$sql

=

"select

`id`

from

`visitor`

where

`file`='{$url}'";

$result

=

mysql_query($sql);

//不清楚url是不是会重复,这里循环可以保证得到所有的id

while($row

=

mysql_fetch_assoc($result)){

$id[]

=

$row['id']

}

//如果url不会重复则使用$id[0],如果会重复则循环$id就可以得到每个id了。

return

$id;

}


文章标题:php查询数据库类 php查询数据库内容
本文路径:http://ybzwz.com/article/dopcpsi.html