- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP连接数据库方法大全剖析
不同数据库的差异
目前市场上流行的数据库有很多种,虽然这些数据库在开发时遵循同样的一个标准,但是,每种数据库都有一些与其他同类产品不一样的地方。本章将主要介绍不同种数据库间的差异,并对PHP 与不同数据库的操作上的差异作一下介绍!
1.1PHP 数据库应用的差异
前面几章介绍了PHP 与MySQL、PostgreSQL、SQL Server 和Oracle 的操作。本节将对PHP 与各种数据库的连接和操作进行比较。事实上,虽然PHP 与各种数据库的连接方法不尽相同,但是其思想是一致的。掌握了PHP 与其中一种数据库的操作方法后,对于其他数据库的操作都会很容易地掌握。
1.2.1 MySQL 与PHP 的应用
对于MySQL 数据库,PHP 提供了php_mysql 扩展来实现与MySQL 数据库的操作。要操作MySQL,首先需要修改PHP 安装目录下的php.ini 文件,将php_mysql 扩展前面的注释去掉,如下所示。PHP 开发大全·358·
extension=php_mysql.dll
修改后重新启动Apache 服务器即可。
以下代码在MySQL 上执行了一个查询操作。
?php
@mysql_connect(localhost, root) //连接数据库服务器
or die(数据库服务器连接失败);
@mysql_select_db(mydb) //选择数据库mydb
or die(数据库不存在或不可用);
$query = @mysql_query(select * from mytable) //执行SQL 语句
or die(SQL 语句执行失败);
echo table border=1;
while($row = mysql_fetch_row($query)) //通过循环的方式输出从第0 行到最大的一行的所有记录
{
$serial_no = $row[0]; //输出第$i 行的serial_no 列
$name = $row[1]; //输出第$i 行的name 列
$salary = $row[4]; //输出第$i 行的salary 列
echo tr;
echo td$serial_no/td;
echo td$name/td;
echo td$salary/td;
echo /tr;
}
echo /table;
?
1.2.2 PostgreSQL 与PHP 的应用
对于PostgreSQL 数据库,PHP 提供了php_pgsql 扩展来实现与PostgreSQL 数据库的操作。要操作PostgreSQL,首先需要修改PHP 安装目录下的php.ini 文件,将php_pgsql 扩展前面的注释去掉,如下所示。
extension= php_pgsql.dll
修改后重新启动Apache 服务器即可。
以下代码在PostgreSQL 上执行了一个查询操作。
?php
$pg = @pg_connect(host=localhost user=postgres password=postgres dbname=employees)
or die(Cant connect to database.); //连接服务器
$query = SELECT * FROM employees ORDER BY serial_no;
$result = @pg_query($pg, $query) or die(Cant run query to table.); //执行SQL
echo table border=1; //输出表头
echo tr;
echo tdserial_no/td;
echo tdname/td;
echo tdbirthday/td;
echo /tr;
for($i=0; $ipg_num_rows($result); $i++) //循环输出所有记录
{
$row = @pg_fetch_row($result) or die(Cant fetch row from table.);
$serial_no = $row[0]; //输出第$i 行的serial_no 列第22 章 不同数据库的差异·359·
$name = $row[1]; //输出第$i 行的name 列
$birthday = $row[4]; //输出第$i 行的salary 列
echo tr;
echo td$serial_no/td;
echo td$name/td;
echo td$birthday/td;
echo /tr;
}
echo /table;
pg_close($pg); //关闭连接
?
可以看到,上面的代码使用与操作MySQL 数据库类似的方法实现了同样的功能,不
文档评论(0)