当前位置:首页 >> 理学 >>

非常详细的PHP操作数据库教程


非常详细的 PHP 操作数据库教程 1. 建立和关闭连接 1) mysql_connect() resource mysql_connect([string hostname [:port][:/path/to/socket][,string username] [,string password]]) 所有参数都是可选的 举例: @mysql_connect("localhost", "user", "password") or die("Could not connect to mysql server!"); 注意,@符号表示禁止失败尝试导致的任何错误信息,用户将看到的是 die()中指定的 错误信息.

注意,当与多个 mysql 进行连接时,必须指定每个连接的链接 ID,如下: $link1 = @mysql_connect("server1", "user", "password") or die("Could not connect to mysql server!"); $link2 = @mysql_connect("server2", "user", "password") or die("Could not connect to mysql server!");

2) mysql_pconnect() resource mysql_pconnect([string hostname [:port][:/path/to/socket][,string username] [,string password]]) 与 mysql_connect()不同的是:会首先查找现有链接,不存在时才创建. 注意,不需要显示关闭连接(mysql_close()),因为连接将放在池中,所以叫持久连接.

3) mysql_close() boolean mysql_close([resource link_id]) 关闭连接不是必须的,因为可以由 mysql 的垃圾回收来处理. 如果没有指定 link_id,则关闭最近的链接.

2. 选择数据库 mysql_select_db() boolean mysql_select_db(string db_name [, resource link_id])

3. 查询 MySql 1) mysql_query() resource mysql_query(string query [,resource link_id]) 负责执行 query.

2) mysql_db_query() resource mysql_db_query(string database, string query [, resource link_id]) 等价于 mysql_select_db() + mysql_query(),从参数中就可以清楚的看出来.

4. 获取和显示数据 1) mysql_result() mixed mysql_result(resource result_set, int row [,mixed field]) 从 result_set 的指定 row 中获取一个 field 的数据. 简单但是效率低.

举例: $link1 = @mysql_connect("server1", "webuser", "password") or die("Could not connect to mysql server!"); @mysql_select_db("company") or die("Could not select database!");

$query = "select id, name from product order by name"; $result = mysql_query($query); $id = mysql_result($result, 0, "id"); $name = mysql_result($result, 0, "name");

mysql_close();

注意,上述代码只是输出结果集中的第一条数据的字段值,如果要输出所有记录,需要 循环处理. ... for ($i = 0; $i <= mysql_num_rows($result); $i++) { $id = mysql_result($result, 0, "id"); $name = mysql_result($result, 0, "name"); echo "Product: $name ($id)"; } ...

注意,如果查询字段名是别名,则 mysql_result 中就使用别名.

2) mysql_fetch_row() array mysql_fetch_row(resource result_set) 从 result_set 中获取整行,把数据放入数组中. 举例(注意和 list 的巧妙配合): ... $query = "select id, name from product order by name"; $result = mysql_query($query); while(list($id, $name) = mysql_fetch_row($result)) { echo "Product: $name ($id)"; } 3) mysql_fetch_array() array mysql_fetch_array(resource result_set [,int result_type]) mysql_fetch_row()的增强版.

将 result_set 的每一行获取为一个关联数组或/和<a class="vLink1" id="vad_6" onmouseover="if(typeof(showTitle)!='undefined'){this.title='';window.clearTimeout( hideTO);showTitle(event, this, 6,'');}" title="中国水资讯网.水论坛 @Vogate.com" style="font-size: 1em" onclick="" onmouseout="if(typeof(showTitle)!='undefined'){mouseIsOverLayer = false; mouseOverWhileLoad = false; hideTO = window.setTimeout('checkIfMouseOverLayer()',500);}" href="http://action.vogate.com/c/c.php?r=&aid=3590&sid=6235007045038635&clic k=1&url=http%3A//www.cjk3d.net/news%7C%u65B0%u95FB%u4E2D%u5FC3%uF F1A%u79D1%u7814%u53CA%u5DE5%u7A0B%u76F8%u5173%u65B0%u95FB%3 Bhttp%3A//top.cjk3d.net%7C%u4E2D%u56FD%u6C34%u5229%u7F51%u7AD9%u 6392%u884C%u699C%3Bhttp%3A//wiki.cjk3d.net%7C%u57FA%u4E8Ewiki%u7684 %u6C34%u79D1%u5B66%u77E5%u8BC6%u5E93%3Bhttp%3A//www.cjk3d.net/bb s%7C%u6C34%u8BBA%u575B%uFF1A%u6C34%u79D1%u5B66%u548C%u6C34% u5DE5%u7A0B%u793E%u533A%3Bhttp%3A//model.cjk3d.net%7C%u6C34%u52A8 %u529B%u6570%u503C%u6A21%u62DF%uFF1A%u4EE3%u7801%u3001%u8F6F %u4EF6&v=0&k=%u6570%u503C&s=http%3A//ifisker.com/blog/post/0707/phpdatabase.html&rn=970173" target="_blank">数值索引数组. 默认获取两种数组,result_type 可以设置: MYSQL_ASSOC:返回关联数组,字段名=>字段值 MYSQL_NUM:返回数值索引数组. MYSQL_BOTH:获取两种数组.因此每个字段可以按索引偏移引用,也可以按字段名引 用. 举例: ... $query = "select id, name from product order by name"; $result = mysql_query($query); while($row = mysql_fetch_array($result, MYSQL_BOTH)) { $name = $row['name'];//或者 $name = $row[1]; $name = $row['id'];//或者 $name = $row[0]; echo "Product: $name ($id)"; } ...

4) mysql_fetch_assoc()

array mysql_fetch_assoc(resource result_set) 相当于 mysql_fetch_array($result, MYSQL_ASSOC)

5) mysql_fetch_object() object mysql_fetch_object(resource result_set) 和 mysql_fetch_array()功能一样,不过返回的不是数组,而是一个对象. 举例: ... $query = "select id, name from product order by name"; $result = mysql_query($query); while($row = mysql_fetch_object($result)) { $name = $row->name; $name = $row->id; echo "Product: $name ($id)"; }

5. 所选择的记录和受影响的记录

1) mysql_num_rows() int mysql_num_rows(resource result_set) 返回 result_set 中的行数. 注意,mysql_num_rows()只在确定 select 语句查询获得的记录数有效,如果要获取 insert/updata/delete 查询影响的记录数,需要使用 mysql_affected_rows().

2) mysql_affected_rows() int mysql_affected_rows([resource link_id]) 获取 insert/updata/delete 查询影响的记录数

注意,不需要输入参数,默认使用最近建立的数据库连接的最近结果.可以使用可选参 数 link_id 来选择数据库连接.

6. 获取数据库和表的信息 1) mysql_list_dbs() resource mysql_list_dbs([resource link_id]) 获取服务器上所有数据库名称. 举例: mysql_connect("localhost", "name","pwd"); $dbs = mysql_list_dbs(); while (list($db) = mysql_fetch_row(dbs)) { echo "$db <br>"; } 注意,输出结果与使用的用户权限相关.

2) mysql_db_name() string mysql_db_name(resource result_set, interger index) 获取在 mysql_list_dbs()返回的 result_set 中位置为 index 的数据库名.

3) mysql_list_tables() resource mysql_list_tables(string database [,resource link_id]) 获取 database 中的所有表名.

4) mysql_tablename() string mysql_tablename(resource result_set, interger index) 获取 mysql_list_tables()返回的 result_set 中位置为 index 的表名.

在学习 PHP 的 COM 和 .Net(Windows)函数的时候,发现了一个通过 COM 操作 SQL SERVER 的例子,查找了相关的资料,于是就有了这篇 PHP 连接 ACCESS 的文章,相 信网上已经很多了,还是贴在这里吧。

我的机器环境:WIN2000,APACHE2,PHP Version 5.1.0RC1

<?php $conn = new COM("ADODB.Connection") or die("Cannot start ADODB.Connection"); $conn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\php5\\netBook.mdb"); $rs = $conn->Execute("select * from manage"); $num_columns = $rs->Fields->Count(); echo $num_columns . "<br />\n"; for ($i=0; $i < $num_columns; $i++) { $fld[$i] = $rs->Fields($i); } $rowcount = 0; while (!$rs->EOF) { for ($i=0; $i < $num_columns; $i++) { echo htmlspecialchars($fld[$i]->value) . "\t"; } echo "<br />\n"; $rowcount++; $rs->MoveNext(); } $rs->Close(); //关闭数据集 $conn->Close(); ?> // rowcount 自增 // 记录集

文章来自学 IT 网:http://www.xueit.com/php/show-4401-5.aspx


相关文章:
第3章 PHP操作数据库_教学设计
教程》 教学设计 课程名称: PHP 网站开发实例教程 ...的案例, 对 PHP 如何操作 MySQL 数据库进行详细...对一个网站而言,数据是非常宝贵的, 如电子商务网站...
MYSQL数据库基本操作详细教程
MYSQL数据库基本操作详细教程。 1.掌握MYSQL基本知识 2.学习数据库管理和操作 3...PHP 也是编程语言 变量,流程控制,函数 数据库服务器的结构 DBS = DBMS + DB...
实例详细讲解PHP连接调用数据库的方法
实例详细讲解 PHP 连接调用数据库的方法 MySQL 访问函数都需要有相应的权限才能...php基础教程-绝对推荐 355页 1下载券 php连接mysql实例全部注... 2页 免费©...
PHP 数据库-搜80经典教程
PHP 数据库-搜80经典教程_计算机软件及应用_IT/计算机_专业资料。PHP 数据库-...非常详细的PHP操作数据库... 8页 免费 经典php教程(免费分享) 154页 免费 Wind...
php操作mysql数据库流程整理
在家全套瑜伽练习教程160份文档 四级养生 中医养生与保健 中医养生知识大全 女人...非常详细的PHP操作数据库... 8页 免费 PHP操作MYSQL数据库 8页 免费 第18章...
PHP教程 兄弟连 PHP之数据库_PHP_教学视频大全
多个框架产品的详细讲解,以及录制PHP的各种实用的二...PHP教程14.1.4 在PHP脚本中操作MySQL数据库1 17...tsao4u2015-03-19 04:03:56 讲得很详细,谢谢。...
php数据库操作封装类+示例
php数据库操作封装类+示例_IT/计算机_专业资料。php_dbclass <?php /* ※※...因为当有问题时 用户什么也看不到是苦恼的 private $pageNo = 1; private ...
php程序正确操作文本数据库的方法
PHP 实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法 我用一个留言本程序作为例子,阐述 PHP 实现对文本数据库的数据显示、加入、修改、删除...
第8章 PHP操作数据库
php基础教程 33页 免费 PHP数据库操作类 3页 免费 PHP常用数据库类 10页 5财富值 syslog 2页 免费 PHP使用PDO连接SQLITE3 3页 免费如要投诉违规内容,请到百度...
PHP从入门到精通教程
- 数据库连接 PHP 可以编译成具有与许多数据库相...二、PHP 入门 PHP 站点的在线教程已经很棒了。在...在 PHP 手册中有详细的例子。 数组与哈希表 数组...
更多相关标签: