重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

php关于数据库的函数,PHP数据库框架

thinkphp对数据库操作有哪些内置函数

8.4.4 Model类

创新互联建站成都网站建设按需定制开发,是成都营销推广公司,为报废汽车回收提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站设计热线:18982081108

getModelName() 获取当前Model的名称

getTableName() 获取当前Model的数据表名称

switchModel(type,vars=array()) 动态切换模型

table() 设置当前操作的数据表

field() 设置要查询的数据字段

where() 设置查询或者操作条件

data(data) 设置数据对象

order(order) 设置排序

limit(limit) 查询限制

page(page) 查询分页

join(join) 进行JOIN查询

having(having) 进行having查询

group(group) 进行group查询

lock(lock) 查询锁定

distinct(distinct) 唯一性查询

count(field) 记录统计

sum(field) 总数查询

min(field) 最小值查询

max(field) 最大值查询

avg(field) 平均值查询

_initialize() 模型初始化方法

_facade(data) 对保存到数据库的数据进行处理

_before_write(data) 写入数据前的回调方法 包括新增和更新

add(data='',options=array()) 新增数据

_before_insert(data,options) 写入数据前的回调方法

_after_insert(data,options) 写入数据后的回调方法

selectAdd(fields='',table='',options=array()) 通过Select方式添加记录

save(data='',options=array()) 更新数据到数据库

_before_update(data,options) 更新数据前的回调方法

_after_update(data,options) 更新成功后的回调方法

delete(options=array()) 删除数据

_after_delete(data,options) 删除成功后的回调方法

select(options=array()) 查询数据集

_after_select(resultSet,options) 查询成功后的回调方法

findAll(options=array()) select方法的别名

_options_filter(options) 表达式过滤回调方法

find(options=array()) 查询数据

_after_find(result,options) 查询成功的回调方法

setField(field,value,condition='') 设置记录的某个字段值

setInc(field,condition='',step=1) 字段值增长

setDec(field,condition='',step=1) 字段值减少

getField(field,condition='',sepa=' ') 获取某个字段值

create(data='',type='') 创建数据对象

autoCheckToken(data) 表单令牌验证

query(sql) 执行原生SQL查询

execute(sql='') 执行原生SQL操作

startTrans() 启动事务

commit() 提交事务

rollback() 事务回滚

getError() 获取模型的错误信息

getDbError() 获取数据库的错误信息

getLastInsID() 获取最后执行的SQL语句

getPk() 获取主键名称

getDbFields() 获取数据表的字段信息

regex(value,rule) 使用正则验证数据

setProperty(name,value) 设置模型的属性值

2.1版新增方法:

db(linkNum,config='') 切换当前数据库连接

高级模型类AdvModel

topN(count,options=array()) 查询满足条件的前N个记录

getN(position=0,options=array()) 查询符合条件的第N条记录

0 表示第一条记录 -1 表示最后一条记录

first(options=array()) 获取满足条件的第一条记录

last(options=array()) 获取满足条件的最后一条记录

returnResult(data,type='') 返回指定的数据类型

setLazyInc(field,condition='',step=1,lazyTime=0) 字段值延迟增长

setLazyDec(field,condition='',step=1,lazyTime=0) 字段值延迟减少

addConnect(config,linkNum=NULL) 增加数据库连接

delConnect(linkNum) 删除数据库连接

closeConnect(linkNum) 关闭数据库连接

switchConnect(linkNum,name='') 切换数据库连接

patchQuery(sql=array()) 批处理执行SQL语句

getPartitionTableName(data=array()) 得到分表的的数据表名

Php数据库和函数问题

这两个函数功能完全不同:

mysql_affected_rows 取得前一次 MySQL 操作所影响的记录行数,操作是指INSERT、UPDATE、DELETE等,影响是指修改、变化的。如果函数失败,返回值是-1。此函数参数为连接ID,也可以不要参数(当前默认的连接)。

mysql_num_rows()返回结果集中行的数目,仅对 SELECT 语句有效。注意其参数是mysql_query返回的结果集ID。

php连接mysql数据库的主要函数的作用与格式

mysql可通过两种方式通过php与web相连,一种通过php的mysql相关函数,另一种通过php的odbc相关函数

相关函数如下:

mysql函数

mysql_affected_rows: 得到 mysql 最后操作影响的列数目。

mysql_close: 关闭 mysql 伺服器连线。

mysql_connect: 开启 mysql 伺服器连线。

mysql_create_db: 建立一个 mysql 新资料库。

mysql_data_seek: 移动内部传回指标。

mysql_db_query: 送查询字串 (query) 到 mysql 资料库。

mysql_drop_db: 移除资料库。

mysql_errno: 传回错误讯息代码。

mysql_error: 传回错误讯息。

mysql_fetch_array: 传回阵列资料。

mysql_fetch_field: 取得栏位资讯。

mysql_fetch_lengths: 传回单列各栏资料最大长度。

mysql_fetch_object: 传回物件资料。

mysql_fetch_row: 传回单列的各栏位。

mysql_field_name: 传回指定栏位的名称。

mysql_field_seek: 设定指标到传回值的某栏位。

mysql_field_table: 获得目前栏位的资料表 (table) 名称。

mysql_field_type: 获得目前栏位的型态。

mysql_field_flags: 获得目前栏位的旗标。

mysql_field_len: 获得目前栏位的长度。

mysql_free_result: 释放传回占用记忆体。

mysql_insert_id: 传回最后一次使用 insert 指令的 id。

mysql_list_fields: 列出指定资料表的栏位 (field)。

mysql_list_dbs: 列出 mysql 伺服器可用的资料库 (database)。

mysql_list_tables: 列出指定资料库的资料表 (table)。

mysql_num_fields: 取得传回栏位的数目。

mysql_num_rows: 取得传回列的数目。

mysql_pconnect: 开启 mysql 伺服器长期连线。

mysql_query: 送出一个 query 字串。

mysql_result: 取得查询 (query) 的结果。

mysql_select_db: 选择一个资料库。

mysql_tablename: 取得资料表名称。

odbc函数

使用odbc函数需安装mysql odbc

odbc_autocommit: 开关自动更动功能。

odbc_binmode: 设定二进位资料处理方式。

odbc_close: 关闭 odbc 连结。

odbc_close_all: 关闭所有 odbc 连结。

odbc_commit: 更动 odbc 资料库。

odbc_connect: 连结至 odbc 资料库。

odbc_cursor: 取得游标名。

odbc_do: 执行 sql 指令。

odbc_exec: 执行 sql 指令。

odbc_execute: 执行预置 sql 指令。

odbc_fetch_into: 取得传回的指定列。

odbc_fetch_row: 取得传回一列。

odbc_field_name: 取得栏位名称。

odbc_field_type: 取得栏位资料形态。

odbc_field_len: 取得栏位资料长度。

odbc_free_result: 释出传回资料的记忆体。

odbc_longreadlen: 设定传回栏的最大值。

odbc_num_fields: 取得栏位数目。

odbc_pconnect: 长期连结至 odbc 资料库。

odbc_prepare: 预置 sql 指令。

odbc_num_rows: 取得传回列数目。

odbc_result: 取得传回资料。

odbc_result_all: 传回 html 表格资料。

odbc_rollback: 撤消当前交易。

odbc_setoption: 调整 odbc 设定。

php及数据库

PHP调用三种数据库的方法

本文比较详细的介绍PHP调用MySQL、ODBC以及ORACLE数据库。

MySQL是一个小巧灵珑的数据库服务器软件,对于中、小型应用系统是非常理想的。除了支持标准的ANSI SQL语句外,最重要的是,它还支持多种平台,而在Unix/Linux系统上,MySQL支持多线程运行方式,从而能获得相当好的性能。它和PHP、 Apache一样,是属于开放源代码软件。其官方网站是:,上面提供Windows,Linux,Unix版本的源代码的下载。

注意,MySQL访问函数都需要有相应的权限才能运行。常用的相关函数介绍如下:

(1)integer mysql_connect(主机,用户名,口令);

此函数开始一个对指定主机上的MySQL数据库的连接。若该数据库位于一个不同地端口,则在主机名后加上冒号和端口号。所有参数均为可选的,缺省情况下分别对应为本地主机、用户正在执行的脚本名和空。主机可以是IP地址或域名。

在脚本执行结束时,连接被自动关闭,也可以用mysql_close提前关闭。

(2)boolean mysql_create_db(数据库名);

创建一个数据库。注意必须用一个带有创建数据库许可权的帐号打开连接。

(3)boolean mysql_select_db(数据库名,连接号);

选择缺省数据库。

(4)integer mysql_query(SQL语句,连接号);

对指定数据库进行查询。如果SQL语句是select,则返回一个结果号,否则返回的值可以不理会。如果失败,返回false.。

(5)array mysql_fetch_array(结果号);

取出下一行,返回一个数组.可以用数字下标访问(第一个字段是下标 0),也可以用字符串下标访问(即使用各字段名)。如已取了最后一行,返回 false.。

(6)mysql_fetch_row(结果号);

返回一个矩阵代表结果集中一行的所有域。每次调用都会产生下一行,直到没有行剩下时返回false。每个域值都由一个从零开始的偏移量索引。这是从查询中获取结果的最快方法。

(7)integer mysql_num_rows(结果号);

返回结果集中行的数目

(8)integer mysql_num_fields(结果号);

返回结果集中域的数目。

(9)integer mysql_list_dbs();

向服务器查询数据库列表。它返回一个结果指针,该指针可用于mysql_fetch_row函数及类似函数。

(10)mysql_list_tables(数据库名);

获取一个指向指定数据库的表单列表的结果指针。该结果指针可用于任何从结果集中获取行的函数。

(11)mysql_close(连接号);

关闭对数据库的连接。连接必须是由mysql_connect打开的。该函数的使用不是严格必需的,因为在脚本结束时,所有非永久链路都会被自动关闭。

(12)mysql_pconnect(主机,用户名,口令);

与mysql_connect完全相似,但建立一个"永久连接",该连接一经建立永不关闭,即使使用mysql_close函数或程序执行完毕也不关闭.下一次试图建立永久连接时,系统如发现已存在一个永久连接,则直接返回该连接号而不重新创建。

下面是一个调用MYSQL数据库并分页显示的例子。

?

$pagesize = 5; //每页显示5条记录

$host="localhost";

$user="user";

$password="psw";

$dbname="book"; //所查询的库表名;

//连接MySQL数据库

mysql_connect("$host","$user","$password") or die("无法连接MySQL数据库服务器!");

$db = mysql_select_db("$dbname") or die("无法连接数据库!");

$sql = "select count(*) as total from pagetest";//生成查询记录数的SQL语句

$rst = mysql_query($sql) or die("无法执行SQL语句:$sql !"); //查询记录数

$row = mysql_fetch_array($rst) or die("没有更多的记录!"); /取出一条记录

$rowcount = $row["total"];//取出记录数

mysql_free_result($rst) or die("无法释放result资源!"); //释放result资源

$pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//算出总共有几页

if(!isset($pageno)) {

$pageno = 1; //在没有设置pageno时,缺省为显示第1页

}

if($pageno1) {

$pageno = 1; //若pageno比1小,则把它设置为1

}

if($pageno$pagecount) {

$pageno = $pagecount; //若pageno比总共的页数大,则把它设置为最后一页

}

if($pageno0) {

$href = eregi_replace("%2f","/",urlencode($PHP_SELF));//把$PHP_SELF转换为可以在URL上使用的字符串,这样的话就可以处理中文目录或中文文件名

if($pageno1){//显示上一页的裢接

echo "a href="" . $href . "?pageno=" . ($pageno-1) . ""上一页/a ";

}

else{

echo "上一页";

}

for($i=1;$i$pageno;$i++){

echo "a href="" . $href . "?pageno=" . $i . """ . $i . "/a ";

}

echo $pageno . " ";

for($i++;$i=$pagecount;$i++){

echo "a href="" . $href . "?pageno=" . $i . """ . $i . "/a ";

}

if($pageno$pagecount){//显示下一页的裢接

echo "a href="" . $href . "?pageno=" . ($pageno+1) . ""下一页/a ";

}

else{

echo "下一页 ";

}

$offset = ($pageno-1) * $pagesize;//算出本页第一条记录在整个表中的位置(第一条记录为0)

$sql = "select * from pagetest LIMIT $offset,$pagesize";//生成查询本页数据的SQL语句

$rst = mysql_query($sql);//查询本页数据

$num_fields = mysql_num_fields($rst);//取得字段总数

$i = 0;

while($i$num_fields){//取得所有字段的名字

$fields[$i] = mysql_field_name($rst,$i);//取得第i+1个字段的名字

$i++;

}

echo "table border="1" cellspacing="0" cellpadding="0"";//开始输出表格

echo "tr";

reset($fields);

while(list(,$field_name)=each($fields)){//显示字段名称

echo "th$field_name/th";

}

echo "/tr";

while($row=mysql_fetch_array($rst)){//显示本页数据

echo "tr";

reset($fields);

while(list(,$field_name)=each($fields)){//显示每个字段的值

$field_value = $row[$field_name];

if($field_value==""){

echo "td /td";

}

else{

echo "td$field_value/td";

}

}

echo "/tr";

}

echo "/table";//表格输出结束

mysql_free_result($rst) or die("无法释放result资源!");//释放result资源

}

else{

echo "目前该表中没有任何数据!";

}

mysql_close($server) or die("无法与服务器断开连接!");//断开连接并释放资源

?

开放数据库连接(ODBC)已成为一种与数据库进行通信的工业标准。PHP也提供了标准的接口,使得PHP能调用Access,SQL SERVER等数据库。其相关函数是:

(1)integer odbc_connect(string dsn, string user, string password)

连接到一个ODBC数据库源名字上。

(2)integer odbc_exec(integer connection, string query)或 odbc_do(integer connection, string query)

在一个连接上执行查询。

(3)boolean odbc_fetch_row(integer result, integer row)

从一个结果集中获取一行数据。Row参数是可选的,若为空缺,则返回下一个有效行。在结果集中不再剩余行时返回false。

(4)boolean odbc_close(integer connection)

关闭一个数据库的连接。若在该连接上有打开的事务,则返回一个错误,而且连接不会被关闭。

最后,还是看个分页的例子:

?

//设定每页显示条数

$show_num = 10;

$spages = $pages;//避免$pages后期被改变

//定义连接

$dsn = "localhost";

$user = "sa";

$password = "";

//计算总记录数

$rs_num = "select count(*) as id from bbs where zu='0' and lei='".$lei."'";

$conn_id = odbc_connect($dsn,$user,$password);

$rnum = odbc_exec($conn_id,$rs_num);

while(odbc_fetch_row($rnum)){

$total_rs = odbc_result($rnum,"id");//将总记录数放入$total_rs变量

}

//计算与页有关的条数

$nnn = $total_rs / $show_num;//计算总页数

$hnnn = intval($nnn);//将总页数取整

$cnnnn = $nnn - $hnnn;

//计算所需总页数

switch ($cnnn){

case "0":

$hnnn++;

$nnn = $hnnn;//总页数

break;

default :

$nnn = $hnnn;//总页数

break;

};

if ($nnn == 0)$nnn++;

//计算页面改变所需的条件

$fore = $pages;

$next = $pages;

$fore -= 1;

$next += 1;

if ($fore 0) {

echo "a首页/a";

echo "a前页/a";

};

if ($pages $nnn) {

echo "a后页/a";

echo "a尾页/a";

};

echo "共".$nnn."页";

$query_string = "SELECT * FROM table where condition order by you wanted order";

$cur = odbc_exec($conn_id,$query_string);

//取到循环的顶部

$cnum = ($pages-1) * $show_num;//计算当前的记录游标的位置

//空循环到显示记录游标处

if ($cnum != 0){

for ($i=0;$i=$cnum;odbc_fetch_row($cur));

};

$i=1;

//显示记录

while(odbc_fetch_row($cur)){

echo ;

if ($i == $show_num){//在不满页数时跳出程序

break;

};

$i++;

};

//关闭连接

odbc_close($conn_id);

?

Oracle(甲骨文)是世界上最为流行的关系数据库。它是大公司推崇的工业化的强有力的引擎。我们先看看其相关的函数:

(1)integer ora_logon(string user , string password)

开始对一个Oracle数据库服务器的连接。

(2)integer ora_open(integer connection)

打开给出的连接的游标。

(3)integer ora_do(integer connection, string query)

在给出的连接上执行查询。PHP生成一个指示器,解析查询,并执行之。

(4)integer ora_parse(integer cursor, string query)

解析一个查询并准备好执行。

(5)boolean ora_exec(integer cursor)

执行一个先前由ora_parse函数解析过的查询。

(6)boolean ora_fetch(integer cursor)

此函数会使得一个执行过的查询中的行被取到指示器中。这使得您可以调用ora_getcolumn函数。

(7)string ora_getcolumn(integer cursor, integer column)

返回当前的值。列由零开始的数字索引。

(8)boolean ora_logoff(integer connection)

断开对数据库服务器的链接。

以下是向ORACLE数据库插入数据的示例程序:

html

headtitle向ORACLE数据库中插入数据/title/head

body

form action="?echo $PHP_SELF;?" method="post"

table border="1" cellspacing="0" cellpadding="0"

tr

thID/th

thname/th

thDescription/th

/tr

tr

tdinput type="text" name="name" maxlength="50" size="10"/td

tdinput type="text" name="email" maxlength="255" size="30"/td

tdinput type="text" name="Description" maxlength="255" size="50"/td

/tr

tr align="center"

td colspan="3"input type="submit" value="提交"  input type="reset" value="重写"/td

/tr

/table

/form

?

//先设置两个环境变量ORACLE_HOME,ORACLE_SID

putenv("ORACLE_HOME=/oracle/app/oracle/product/8.0.4");

putenv("ORACLE_SID=ora8");

//设置网页显示中文

putenv("NLS_LANG=Simplified_Chinese.zhs16cgb231280");

if($connection=ora_logon("scott","tiger")) {

//库表test有ID,name,Description三项

$sql = 'insert into test(ID,name,Description) values ';

$sql .= '('' . $ID . '','' . $name . '',''. $Description . '')';

if($cursor=ora_do($connect,$sql)) {

print("insert finished!");

}

$query = 'select * from test';

if($cursor=ora_do($connect,$query)) {

ora_fetch($cursor);

$content0=ora_getcolumn($cursor,0);

$content1=ora_getcolumn($cursor,1);

$content2=ora_getcolumn($cursor,2);

print("$content0");

print("$content1");

print("$content2");

ora_close($cursor);

}

ora_logoff($connection);

}

?

/body

/html

通过PHP你可以轻松的连接到数据库,请求数据并将其显示在你的web站点中,甚至修改数据库中的数据。 MySQL是一种很流行的数据库,并且在互联网中有许多有关PHP与MySQL的教程。MySQL是免费的,这一点也许就吸引了不少人。由于其广泛应用, 我就不想在这里赘述MySQL的使用方法了。Oracle被大量在企业应用中采用,因此我们就利用Oracle来介绍PHP与数据库的连接。我们当然不会 提及Oracle数据库的设计原理,原因是这已经超出了我们的讨论范围。

PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。如前所述,你的PHP安装选项应该可以支持两者的使用。

想获得更多有关在Microsoft Windows平台上安装支持PHP3的Apache服务器的知识以及更多有关Oracle数据库的知识,请查阅以下URL:。

4.1 连接

if ($conn=Ora_Logon("user@TNSNAME","password"))

{

echo "SUCCESS ! Connected to database\n";

}

else

{

echo "Failed :-( Could not connect to database\n";

}

Ora_Logoff($conn);

phpinfo();

?

以上代码使用TNSNAME(在你的tnsnames.ora文件中指明)定义的Oracle数据库名称、用户名称和密码连接数据库。在成功连接的基础上,ora_logon函数返回一个非零的连接ID并储存在变量$conn中。

4.2 查询

假设与数据库已经连接就绪,下面我们就来实际的应用对数据库的查询。下面的代码演示了一个连接并查询的典型例子:

/*

* 连接数据库并执行查询

*/

function printoraerr($in_cur)

{

// 检查Oracle是否出错

// 如果存在错误则显示

// 当指针被激活时每次请求Oracle后调用该函数

if(ora_errorcode($in_cur))

echo "Oracle code - ".ora_error($in_cur)."\n";

return;

}

/** 主程序 */

if (!($conn=ora_logon("user@TNSNAME","password")))

{

echo "Connection to database failed\n";

exit;

}

echo "Connected as connection - $conn

\n";

echo "Opening cursor ...

\n";

$cursor=ora_open($conn); printoraerr($cursor);

echo "Opened cursor - $cursor

\n";

$qry="select user,sysdate from dual";

echo "Parsing the query $qry ...

\n";

ora_parse($cursor,$qry,0); printoraerr($cursor);

echo "Query parsed

\n";

echo "Executing cursor ...

\n";

ora_exec($cursor); printoraerr($cursor);

echo "Executed cursor

\n";

echo "Fetching cursor ...

\n";

while(ora_fetch($cursor))

{

$user=ora_getcolumn($cursor,0); printoraerr($cursor);

$sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);

echo " row = $user, $sysdate

\n";

}

echo "Fetched all records

\n";

echo "Closing cursor ...

\n";

ora_close($cursor);

echo "Closed cursor

\n";

echo "Logging off from oracle...

\n";

ora_logoff($conn);

echo "Logged off from oracle

\n";

?

(译者注:以上代码段缺少注释,请读者参考PHP Manual的Oracle数据库函数部分)

4.3 显示结果

以下代码演示了怎样查询数据库并将结果输出:

function printoraerr($in_cur, $conn)

{

// 检查Oracle是否出错

// 如果存在错误则显示

// 当指针被激活时每次请求Oracle后调用该函数

// If it encountered an error, we exit immediately

if(ora_errorcode($in_cur))

{

echo "Oracle code - ".ora_error($in_cur)."

n";

ora_logoff($conn);

exit;

}

return;

}

function exequery($w_qry,$conn)

{

$cursor=ora_open($conn); printoraerr($cursor,$conn);

ora_parse($cursor,$w_qry,0); printoraerr($cursor,$conn);

ora_exec($cursor); printoraerr($cursor,$conn);

$numrows=0;

$w_numcols=ora_numcols($cursor);

// 显示头部

echo "

\n";

for ($i=0;$i$w_numcols;$i++)

{

$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";

echo "\t ".ora_columnname($cursor,$i)." \n";

}

echo "

\n";

while(ora_fetch($cursor))

{

echo " \n";

for ($i=0;$i$w_numcols;$i++)

{

$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";

if(ora_columntype($cursor,$i)=="LONG")

echo " ".

ora_getcolumn($cursor,$i)."

\n";

else

echo " ".ora_getcolumn($cursor,$i)." \n";

printoraerr($cursor,$conn);

}

$numrows++;

echo "

\n";

}

if ($numrows==0)

echo " Query returned no records

\n";

else

{

echo " \n";

echo " Count \n";

echo " $numrows \n";

echo "

\n";

}

echo " \n";

ora_close($cursor);

return;

}

// 主程序

if(!($conn=ora_logon("user@SID","password")))

{

echo "Error: Cannot connect to database\n";

exit;

}

$qry="SELECT

deptno \"Dept\"

,empno \"Emp\"

,empnm \"Name\"

,salary \"Salary\"

FROM

employee

ORDER BY 1,2";

exequery($qry);

ora_logoff($conn);

?

(译者注:以上代码段缺少注释,请读者参考PHP Manual的Oracle数据库函数部分)

4.4 基于HTTP的Oracle登录

将以下代码加在PHP页面代码之前以确认Oracle登录。注意你必须正确设定$ SID。

if(!isset($PHP_AUTH_USER))

{

Header("WWW-authenticate: basic realm=\"$SID\"");

Header("HTTP/1.0 401 Unauthorized");

$title="Login Instructions";

echo "

You are not authorized to enter the site

\n";

exit;

}

else

{

if (!($conn=ora_logon("$PHP_AUTH_USER@$SID",$PHP_AUTH_PW)))

{

Header("WWW-authenticate: basic realm=\"$SID\"");

Header("HTTP/1.0 401 Unauthorized");

$title="Login Instructions";

echo "

You are not authorised to enter the site

\n";

exit;

}

}

?

关于php操作mysql执行数据库查询的一些常用操作汇总

php操作mysql步骤:

1.$connect=mysql_connect('localhost','root','123456')

or

die('数据库连接失败。'mysql_error());链接mysql。

2.mysql_select_db('database',$connect)选择链接的数据库。

3.mysql_query('Set

names

gb2312');$sql

=

"select

*

from

blog_article";准备要查询的数据。

4.$datas

=

mysql_query($sql);执行sql查询。

5.$data

=

mysql_fetch_assoc($datas)得到查询到的缓存在内存中的一条数据。

6.print_r($data);

相同点:三个函数都是返回数据库中查询到的一行数据(说的再清楚点就是一条数据)。

不同点:mysql_fetch_assoc()用的是数据库中相应的字段名作为的key值(也就是数组下标)

如:filed['id']=1;

mysql_fetch_row()用的是自动生成的数字(从0开始依次生成)作为的key值(也就是数组下标)

如:filed[0]=1;

mysql_fetch_array()用的是自动生成的数字(从0开始依次生成)作为的key值(也就是数组下标),而且它还同时生成数据库中相应的字段名作为的key值(也就是数组下标)

如:

filed[0]=1,filed['id']=1;也就是说,mysql_fetch_array()将mysql_fetch_assoc()和mysql_fetch_row()查询到的结果合为了一体了。

mysql_fetch_object()与mysql_fetch_assoc()差不多。只是mysql_fetch_assoc()返回的是数组。mysql_fetch_object()返回的是object对象。

mysql_insert_id() 取得上一步

INSERT

操作产生的

ID。

mysql_result()

函数返回结果集中一个字段的值。

mysql_num_fields()

函数返回结果集中字段的数目。

mysql_affected_rows();返回前一次

MySQL

操作所影响的记录行数。

mysql_num_rows(mysql_query($sql))获得结果集中行的数目。

mysql_pconnect()

函数打开一个到

MySQL

服务器的持久连接。

mysql_pconnect()

mysql_connect()

非常相似,但有两个主要区别:

1.

当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接。

2.

其次,当脚本执行完毕后到

SQL

服务器的连接不会被关闭,此连接将保持打开以备以后使用(mysql_close()

不会关闭由

mysql_pconnect()

建立的连接)。

mysql_data_seek(mysql_query($sql),8);获得结果集中的第8条数据。(mysql_num_rows(mysql_query($sql))和mysql_data_seek(mysql_query($sql),8)在mysql_unbuffered_query($sql)不可以使用。)

mysql_unbuffered_query($sql)和mysql_query($sql)效果差不多,但是

mysql_unbuffered_query($sql)不缓存。mysql_query($sql)会缓存查询的结果。

mysql_close();关闭mysql的最近的链接。

mysql_field_flags(mysql_query($sql),6)返回第六个字段的表属性输出如:not_null

primary_key

auto_increment

mysql_fetch_lengths(mysql_query($sql))返回该条数据的所有字段的每个字段的长度。返回的是一个数字组成的数组。

mysql_field_name(mysql_query($sql),3)返回第三个字段的字段名。

mysql_field_table(mysql_query($sql),0)返回指定字段所在的表名。

mysql_free_result(mysql_query($sql))

函数释放结果内存。

mysql_get_client_info()

函数返回

MySQL

客户端信息。

mysql_get_host_info()

取得

MySQL

主机信息。


当前名称:php关于数据库的函数,PHP数据库框架
转载注明:http://cqcxhl.com/article/hcpccs.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP