PHP访问MySQL数据库的几种方法 。
一、使用PHP访问MySQL数据库
这里我要讲的是就是用mysql_*函数组和mysqli_*函数组来访问MySQL数据库。
(一):使用PHP的mysql_*函数组访问MySQL数据库
<?php $conn=mysql_connect("hostname","username","password") or die("链接数据库失败"); mysql_select_db("<database>"); $sql="<SQL statements>"; $rs=mysql_query($sql,$conn); mysql_free_result($rs); mysql_close($conn); ?>
(二):使用PHP的mysqli_*函数组访问MySQL数据库
<?php $mysqli=mysqli_connect("hostname","username","password","database"); if(mysqli_connect_errno()){ printf("Connect failed:%s\n",mysqli_connect_error()); exit(); }else{ $sql="<SQL statements>"; $rs=mysqli_query($mysqli,$sql); if($rs===TRUE){ echo "sucessfully!"; }else{ echo "failed!"; } mysqli_close($mysqli); } ?>
二、使用自建类访问MySQL数据库
三、使用ADODB访问MySQL数据库
ADODB类库简洁
ADODB(active data object data base)是一套由php编写的数据库系统函数,adobd提供了一套标准的数据库操作接口。
adodb支持的数据库已发展到:mysql,postgresql,oracle,interbase,microsoft sql server,access,foxpro,sybase,odbc,ado
用adodb类库与数据库建立连接
无论何种数据库使用php时首先要做的就是先连接到该数据库服务器上,adodb类库使用ADOConnection对象进行连接。
要使用adodb类库首先要到官网上去下载一个类库(http://adodb.sourceforge.net
),然后解压缩到当前的一个文档中,
在使用它之前使用include("adodb/adodb.inc.php")将其包含进来,下面开始进行对其连接数据库服务器....
(一)、
<?php include("adodb/adodb.inc.php"); //告诉adodb我们要连接的数据库类型 $db=NewADOConnection("mysql"); //连接数据库,将返回一个false或则true $link=$db->Connect("localhost","root","dd0633LSL"); if(!$link){ //输出并停止程序的运行 die("<h1>数据库连接失败!</h1>"); } echo "<h1>数据库连接成功</h1>"; ?>;
adodb使用面向对象的方法对各种数据库进行管理,使用不同的类对不同的数据库进行操作,
这些事情都是在ADOConnection函数中进行的,用户要做的只是告诉ADOConnection()一个合法的数据库驱动器名。
这个函数就会返回一个adodb对象,接着就可以使用这个对象中的Connect()方法对数据库进行连接,
如上段代码中的$db->Connect("host","user","pass"),在adodb类库中可以有多0种连接数据库的方式:
1,非持久连接Connect()该种连接的好处在于能够减少数据库于WEB服务器之间产生过载的危险。
2,持久性连接PConnect()持久性连接,这样做数据库的连接不会断掉所以速度很快
(二)、使用dsn数据源进行连接
dsn的格式如:driver://username:password@hostname/database[?option[=value]]
使用了dsn后ADOConnection()将自动调用方法Conect()或PConect()建立一个非持久性连接或一个持久性的连接,
在建立连接时依据option/value的值判断为持久连接还是非持久性连接,这样连接成功会返回一个true失败返回一个false.
<?php include("adodb/adodb.inc.php"); //非持久性连接 $dsn="mysql://root:dd0633LSL@localhost/adodb"; /* 持久性连接 $dsn="mysql://root:dd0633LSL@localhost/adodb?persist";//或者persistent */ $db=NewADOConnection($dsn); if(!$db){ die("数据库连接失败!"); } echo "连接成功"; ?>
--------------------------------------------------------------------------------------
数据库中执行查询操作
通常使用select语句进行检索或查询数据adodb中通常使用execute()方法执行数据库查询,如果成功则返回ADORecordSet对象,
它包含一个查询结果的纪录集。在ADORecordSet对象中有很多的方法可以对纪录集进行操作如:
-----------------------------------------------------------------------------------------------------------------------------
FetchRow() 返回当前行的纪录数组,遇到EOF则返回false(adodb5.04是乎已经能够自动下移指针)
FetchInto(&$array) 将当前行的纪录放入数组$array中,遇到EOF返回false,否则返回1
FetchObject($toupper=ture) 返回当前行的纪录组成的对象,与FetchRow()方法类似,如果$toupper的值为真则返回的属性将全部转为大写
FetchObj() 与FEtchObject(false)类似,只是返回字段名不会被转换
FetchNextObject($toupper=ture) 返回当前的纪录组成的对象并自动移动到下一行纪录,如果topper的值为真则返回的对象的属性名全部为大写
FetchNextObj() 与FetchNextObject()类是知识返回的值不会被替换
MoveNext()将纪录指针从当前纪录位置移动到下一纪录行。如同move()
-----------------------------------------------------------------------------------------------------------------------------
一个例子
---------------------------------------------------------------------
<?php include("adodb/adodb.inc.php"); //这里是建立的mysql数据库 //$dsn="mysql://root:dd0633LSL@localhost/adodb"; //$db=& NewADOConnection($dsn); //下面连接access数据库 $drive="driver={Microsoft Access Driver (*.mdb)};Dbq="realpath("date/db1.mdb").";Uid=;Pwd=;"; $db=NewADOConnection("access"); $db->Connect($drive); $query="select * from user"; $RecordSet=&$db->Execute($query); if(!$RecordSet) { echo $db->ErrorMsg(); }else{ //echo $RecordSet->RecordCount(); while($arr=$RecordSet->FetchRow()){ echo $arr[0]."----".$arr[1]."----".$arr[2]."<br />"; } } $RecordSet->close(); $db->close(); ?>; * 注:在测试时弄了不少麻烦,使用access时,首先配置数据源:在控制面板---管理工具---数据源ODBC---在用户DSN里选择MS ACCESS DATABASE----选择 Microsoft Access Driver---输入数据原名,选择数据库点击完成,即配置好数据源,以免出现数据源错误。 在上例中可以使用SetFetchMode()方法设置返回的模式,该方法的值可以设置为: ADODB_FETCH_DEFAULT:默认模式,依赖于数据可得行为可能是下面三个值之一 ADODB_FETCH_NUM:一数字索引作为建 ADODB_FETCH_ASSOC:以字段名作为键 ADODB_FETCH_BOTH:分别以数字索引和字段作为键 SetFetchMode()的应用范例 <?php include("adodb/adodb.inc.php"); $db=NewADOConnection("mysql://root:dd0633LSL@localhost/adodb"); //可以把设置模式的值更换一下来看效果 $db->SetFetchMode(ADODB_FETCH_NUM); $rst1=$db->Execute("select * from user"); print_r($rst1->fields); ?>;
---------------------------------------------------------------------
ADOConnection对象的方法
在ADOConnection对象中还有个方法叫做Selectlimit()该方法用于解决一些数据库不能对select...limit的支持,该方法调用后返回一个ADOConnection对象。
-----------------------------------------------------------
<?php include("adodb/adodb.inc.php"); //这里是建立的mysql数据库 //$dsn="mysql://root:dd0633LSL@localhost/adodb"; //$db=& NewADOConnection($dsn); //下面连接access数据库 $drive="driver={Microsoft Access Driver (*.mdb)};Dbq="realpath("date/db1.mdb").";Uid=;Pwd=;"; $db=NewADOConnection("access"); $db->Connect($drive); $query="select * from user"; //SelectLimit从第3条开始之多返回2条记录 $RecordSet=&$db->SelectLimit($query,2,3); if(!$RecordSet) { echo $db->ErrorMsg(); }else{ //echo $RecordSet->RecordCount(); while($arr=$RecordSet->FetchRow()){ echo $arr[0]."----".$arr[1]."----".$arr[2]."<br />"; } } $RecordSet->close(); $db->close(); ?>;
-----------------------------------------------------------
::rs2html()方法
rs2html方法将传入的ADORecordSet对象转化为html表格的格式,使用时需要先把 tohtml.inc.php 包含进来。
执行插入与更新操作
在adodb中向数据库插入或则更新数据,可以使用execute()方法,再插入数据时一般都要对数据进行一些处理,以便使数据库能够接受
对于一些数据库对于日期格式和字符串的处理方式不同首先要对要插入的数据进行处理,使用adodb提供的函数如
DBDate(),SQLDate()
qStr()::处理字符串中简单地引号问题
ADODB类库中的几个常用函数
Affected_Rows()
Insert_ID()
这两个函数分别对应的是mysql_affected_rows() mysql_insert_id()
自动执行insert和update
AutoExecute($table,$arrFields,$mode,$where)
$table::数据表$arrfields::数据$mode::"INSERT"或者"UPDATE"$WHERE条件
::关于分页函数的使用::
在文件adodb-pager.inc.php中生成对象ADODB_Pager($db,$query);
例如:
include("adodb-pager.inc.php");
$query="select * from user ";
$pager=new ADODB_Pager();
//设置如许以HTML格式显示数据
$pager->htmlSpecialChars=false;
$pager->Render(5);
使用分页函数的时候可以更改adodb-pager.inc.php里的内容来实现输出数据的格式
四、使用Adodb.Connection访问MySQL数据库
此时不需要adodb类库?
try{ $com = new COM("Adodb.Connection"); $com->open("Driver={SQL Server};server=(local);uid=sa;pwd=*****;database=*****;"); }catch(com_exception $e){ die($e->getMessage()); }try{ $rs = new COM("Adodb.RecordSet"); $rs->open("select * from user_list",$com,1,1); }catch(com_exception $e){ die($e->getMessage()); } $AllCount = $rs->RecordCount; for($i=1;$i<$AllCount;$i++){ echo($rs["u_id"]->value." "); $rs->MoveNext(); } $rs->Close(); $rs = null; $com->Close(); $com = null; ?>
五、使用ODBC连接mysql
通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的。
1.打开控制面板中的ODBC数据源管理器,确认在驱动程序中已经存在mysql odbc driver(window 2003自动有装)
2.在系统DSN中添加一个数据源,输入
data source name :mysqlodbc,
user:root,
password:root,
选择database然后确定
3.输入代码
<?php $conn=odbc_connect('mysqlodbc','root','root'); if (!$conn){exit("Connection Failed: " . $conn);} $sql="SELECT * FROM class"; $rs=odbc_exec($conn,$sql); if (!$rs) {exit("Error in SQL");} echo "<table><tr>"; echo "<th>id</th>"; echo "<th>name</th></tr>"; while (odbc_fetch_row($rs)){ $id=odbc_result($rs,"id"); $name=odbc_result($rs,"name"); echo "<tr><td>$id</td>"; echo "<td>$name</td></tr>"; } odbc_close($conn); echo "</table>"; ?>
相关推荐
PHP3访问MySQL数据库主要有以下几种方法: 1. **MySQL Connect函数**: `mysql_connect(host, username, password)` 这个函数用于建立与MySQL服务器的连接。`host`是MySQL服务器的地址,`username`是登录用户名,...
### 对Mysql数据库的访问方法的研究 #### 一、引言 随着互联网技术的迅猛发展,数据库管理系统在软件开发中的作用越来越重要。其中,Mysql作为一款开源的关系型数据库管理系统,以其高性能、高稳定性及易用性等...
此外,不论使用哪种方法,关闭数据库连接都是必要的,以释放系统资源。例如,面向过程的`mysql_close($con)`,面向对象的`$db->close()`,以及PDO的`$dbh = null`。 总结,PHP连接MySQL数据库的方法包括面向过程的`...
在进行PHP与MySQL数据库连接时,通常需要完成以下几个步骤: 1. **定义数据库服务器地址**: 通常是`localhost`表示本地服务器。 2. **设置用户名和密码**: 需要知道MySQL服务器的登录凭据。 3. **创建连接**: 使用...
### PHP连接调用MySQL数据库的方法详解 在现代Web开发中,PHP作为一种广泛使用的服务器端脚本语言,常被用于处理动态网页数据,尤其在与数据库交互方面表现突出。本文将深入探讨如何使用PHP连接和调用MySQL数据库,...
PHP程序访问MySQL数据库的过程主要包括以下几个步骤: 1. **连接数据库**:使用`mysql_connect()`函数建立与MySQL服务器的连接。该函数需要提供主机名(默认为localhost)、端口号(通常是3306)、用户名和密码。...
MySQL数据库是世界上最受欢迎的开源关系型数据库之一,而PHP是一种广泛使用的服务器端脚本语言,尤其在构建Web应用程序时。当结合使用时,PHP可以提供一个强大的平台来创建、读取、更新和删除数据库中的数据。这个...
本文主要讨论如何使用PHP操作MySQL数据库进行分表。 分表是一种常见的数据库扩展策略,它通过将一个大表拆分成多个小表来提高查询效率和系统性能。在PHP中,我们可以编写SQL语句或者使用ORM(对象关系映射)框架来...
最初考虑了几种方案,包括将数据加载到商业数据库中,但Monty对速度不满意。他尝试借用mSQL的SQL部分并与自己的低级存储引擎集成,但效果不佳。这时,一个才华横溢且充满激情的程序员做出了经典举动:“我已经受够了...
在PHP和MySQL数据库编程中,理解数据类型和MySQL常用命令是至关重要的。PHP是一种流行的服务器端脚本语言,常用于动态网页开发,而MySQL则是一个关系型数据库管理系统,两者结合可以构建高效的数据驱动应用程序。 ...
在实现PHP MySQL数据库存储session的过程中,我们需要做以下几步: 1. **配置session处理**:修改PHP的session配置,设置session.save_handler为"sql_session"(假设我们有一个自定义的session处理器),并且设置...
【标题】"和其php版mysql数据库备份v1.0" 涉及的主要知识点是使用PHP编程语言来实现MySQL数据库的备份功能。这通常包括以下几个核心部分: 1. **PHP基础**:PHP是一种广泛使用的服务器端脚本语言,特别适合于Web...
综上所述,MySQL数据库一键安装包为开发者提供了一种便捷的方式来创建Web开发环境,包含PHP、MySQL和Zend等关键组件。通过了解每个组件的功能和使用方法,可以更好地利用这个工具进行项目开发。
3. 数据访问层:封装了与MySQL数据库的交互,如数据库连接、查询、事务处理等。 4. 模型层:定义数据对象和业务规则,如用户模型、医生模型等。 5. 配置文件:存储数据库连接信息、系统设置等。 6. 错误处理和日志...
### 一个普遍通用的PHP连接MYSQL数据库类 #### 概述 本文介绍了一个普遍通用的 PHP 类用于连接 MySQL 数据库。此类提供了基本的功能,如连接到数据库、执行 SQL 查询、创建新数据库以及列出当前服务器上的所有...
MySQL数据库是一种广泛使用的开源关系型数据库管理系统(RDBMS),以其高效、稳定和易于扩展的特性深受开发者喜爱。本教程光盘与中文手册的组合,为学习和掌握MySQL提供了全面而详细的学习资源。 《MySQL数据库教程...
标题 "php实现的MYSQL数据库备份工具" 描述的是一个使用PHP编程语言开发的应用,它能够对MYSQL数据库进行备份操作。这种工具在网站管理、数据安全和系统维护中扮演着重要角色,因为它允许用户定期保存数据库内容,...
【标题】"基于PHP的和其php版mysql数据库备份v1.0源码"涉及到的主要技术是PHP编程语言以及MySQL数据库的备份管理。这个项目可能是为了解决在Web环境中,如何利用PHP脚本来定期或者按需备份MySQL数据库,确保数据的...
MySQL数据库是一种广泛使用的开源关系型数据库管理系统(RDBMS),由Oracle公司维护。它以其高效、稳定和易于管理的特点在Web应用、中小企业以及各种规模的项目中占据重要地位。MySQL支持多种操作系统,包括Windows...