php数据库链式查询 php链接sql数据库

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);

}

}

?

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

thinkphp 数据库查询怎么查?

thinkphp如何查询数据库?

数据库查询

ThinkPHP内置了非常灵活的查询方法,可以快速的进行数据查询操作。

查询条件可以用于CURD等任何操作,作为where方法的参数传入即可。

ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全。

查询方式

一、使用字符串作为查询条件

这是最传统的方式,但是安全性不高,例如:

1

2

$User = M("User"); // 实例化User对象

$User-where('type=1 AND status=1')-select();

最后生成的SQL语句是

1

SELECT * FROM think_user WHERE type=1 AND status=1

二、使用数组作为查询条件

1

2

3

4

5

$User = M("User"); // 实例化User对象

$condition['name'] = 'thinkphp';

$condition['status'] = 1;

// 把查询条件传入查询方法

$User-where($condition)-select();

最后生成的SQL语句是

1

SELECT * FROM think_user WHERE 'name'='thinkphp' AND status=1

如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:

1

2

3

4

5

6

$User = M("User"); // 实例化User对象

$condition['name'] = 'thinkphp';

$condition['account'] = 'thinkphp';

$condition['_logic'] = 'OR'; //定义查询逻辑

// 把查询条件传入查询方法

$User-where($condition)-select();

最后生成的SQL语句是

1

SELECT * FROM think_user WHERE 'name'='thinkphp' OR `account`='thinkphp'

三、使用对象方式来查询 (这里以stdClass内置对象为例)

1

2

3

4

5

6

$User = M("User"); // 实例化User对象

// 定义查询条件

$condition = new stdClass();

$condition-name = 'thinkphp';

$condition-status= 1;

$User-where($condition)-select();

最后生成的SQL语句和上面一样

1

SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1

使用对象方式查询和使用数组查询的效果是相同的,并且是可以互换的,大多数情况下,我们建议采用数组方式更加高效,后面我们会以数组方式为例来讲解具体的查询语言用法。

表达式查询

上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式支持更多的SQL查询语法,并且可以用于数组或者对象方式的查询(下面仅以数组方式为例说明),查询表达式的使用格式:

1

$map['字段名'] = array('表达式','查询条件');

表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:

1

2

3

4

$map['id']  = array('eq',100);  id = 100;

$map['id']  = array('egt',100);id = 100

$map['name'] = array('like','thinkphp%'); name like 'thinkphp%' 模糊查询

$map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND'); (a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')

本文来自ThinkPHP框架技术文章栏目:

以上就是thinkphp如何查询数据库的详细内容,更多请关注php中文网其它相关文章!

php如何跨数据库查询

1.建立两个数据库连接,查询的时候分别调用。

2.使用dbname.tablename的方式来写from,或者join(前提是你用于连接MYSQL的帐号必须同时可以访问这两个库)

例如:dba,dbb

select * from dba.table1 as t1

join dbb.table1 as t2 on t1.id = t2.id

php如何查询数据库表中的数据并显示

这个简单啊!

首页做个前台输入姓名和会员卡信息的页面,我做个简单的页面给你看

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

html xmlns="

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

title会员查询系统/title

/head

body

form id="form1" name="form1" method="post" action="test.php"

p

label for="name"/label

input type="text" name="name" id="name" /

/p

p

label for="vipid"/label

input type="text" name="vipid" id="vipid" /

/p

p

input type="submit" name="button" id="button" value="查询" /

/p

/form

/body

/html

然后我给你一个test.php的文件代码:

?php

$name    =    trim($_POST['name']);

$vipid    =    trim($_POST['vipid']);

$con = mysql_connect("127.0.0.1","数据库用户名","数据库密码");

if (!$con)

{

die('Could not connect: ' . mysql_error());

}

$a    =    mysql_select_db("数据库名字", $con);

$sql    =    "select * from kh_customer where name = '$name' and vipid = '$vipid'";

$result = mysql_query($sql);

while($row = mysql_fetch_array($result))

{

echo $row['name'] . " " . $row['data'];

echo "br /";

}

mysql_close($con);

?

页面美化自己去搞!只能帮你这么多了

thinkphp 数据库查询连贯操作 order 当字段和排序两个都采用变量时,无法读取数据库

$list=D('QA1')-where($whereS)-limit($first,$pagesize)-order($sort $order)-select();这样试试吧。我记得order里面不是放数组的

php查询数据库

mysqli有两种数据库连接方式:

1、面向过程式连接:

mysqli_connect('localhost','xxx','xxx','xxx');

mysqli_query('');

后使用mysqli_fetch_assoc方法获取到数据。

2、面向对象式连接:

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$result = $mysqli-query('');

后使用$result-fetch_assoc()获取数据。

至于num_rows是获取查询到的行数的方法。


当前标题:php数据库链式查询 php链接sql数据库
文章转载:http://myzitong.com/article/docggdc.html