PHP连接数据库的三种方式
在php开发过程中,我们需要连接数据库来开发动态网站,连接数据库通常有四种方式:Mysql-connect(),Mysqli,PDO,ADODB,接下来就介绍这四种数据库连接方式的具体实现步骤:
Mysql_connect
这是我们刚开始学习php时最开始碰到到的数据库连接方式,通过mysql_connect()函数可以返回连接结果,则返回一个 MySQL 连接标识,失败则返回 FALSE。,因此可以进行后续的操作.
代码示例
<?php
$con=mysql_connect("localhost" ,"root","password")
if($con){
mysql_select_db("db_name",$con);
$sql="select * from table_name where id=1";
$result=mysql_query($sql);
while($row=mysql_fetch_row($result)){
echo "$row";
}
}else{
die("无法连接数据库".mysql_error());
}
mysql_close($con);
?>
注意
这种连接方式是短连接,不是长连接,若长连接则使用mysql_pconnetct()
Mysqli
这是一种面向对象的数据库连接方式,在连接前需要实例化一个对象,然后通过这个对象进行数据库操作
代码示例
<?php
$con=new mysqli("localhost","root","password","db_name");
if(!mysqli_connect_error()){
$sql="select * from table_name where id=1";
$result=$con->query($sql);
while($row=$result->fetch_row($result)){
echo "$row";
}
}else{
die("无法连接数据库".mysql_error());
}
mysqli是一种长连接方式,并且比mysql_connect更加安全
PDO
什么是pdo呢,pdo是php5中心加进去的链接数据库的方式,
代码示例
<?php
$pdo=new
PDO('mysql:host=localhost;dbname=db_name',"root",
$sql="select * from table_name where id=1";
"password");
try{
$result=$pdo->query($sql);
foreach($result as $k){
print_r($k);
}
}catch(PDOException $e){
echo $e->getMessage();
}
?>
ADODB
不管后端数据库如何,存取数据库的方式都是一致的,开发设计人员不必为了某一套数据库,而必须再学习另一套不同的存取方法,这大大减轻开发人员的知识负担,过去的知识往后仍可继续使用
代码示例
require_once './adodb5/adodb.inc.php';
$conn = &ADONewConnection('mysql');
$conn->connect('localhost','root','','test');
$conn->Execute("set names utf8");
$res = $conn->Execute("select * from user");
if (!$res){
echo $conn->ErrorMsg();
}else{
var_dump($res);
}
总结
这里有四种连接数据库的方式,至于选择哪种,就要看每种方式的优缺点。
mysql_connect()
设计开发允许PHP应用与MySQL数据库交互的早期扩展。mysql扩展提供了一个面向过程 的接口;并且是短连接,当多次连接数据库时,需要创建多个进程。
mysqli
mysqli扩展有一系列的优势,相对于mysql扩展的提升主要有:面向对象接口、 prepared语句支持、多语句执行支持、事务支持、增强的调试能力、嵌入式服务支持。
pdo
PHP数据对象,是PHP应用中的一个数据库抽象层规范。PDO提供了一个统一的API接口可以,使得你的PHP应用不去关心具体要 连接的数据库服务器系统类型。也就是说,如果你使用PDO的API,可以在任何需要的时候无缝切换数据库服务器。
adodb
使用 ADODB 最大的优点之一是:不管后端数据库如何,存取数据库的方式都是一致的,开发设计人员不必为了某一套数据库,而必须再学习另一套不同的存取方法,这大大减轻开发人员的知识负担,过去的知识往后仍可继续使用,转移数据库平台时,程序代码也不必做太大的更动。