使用php连接mysql数据库,php连接数据库的方法

使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式

PHP与MySQL连接的API接口有三个,分别是:PHP的MySQL扩展、PHP的mysqli扩展和PHP数据对象(PDO)。本文将详细讲解这三种方式的示例代码,有需要的可以参考。

:

目录

1.MySQL扩展2.mysqli扩展3。PDO扩展知识点补充PHP与MySQL的连接有三个API接口,分别是:PHP的MySQL扩展、PHP的mysqli扩展和PHP数据对象(PDO)。

1.MySQL扩展

PHP的MySQL扩展是早期设计和开发的扩展,允许PHP应用程序与MySQL数据库交互。MySQL扩展提供了一个面向进程的接口,因为它不支持后来的MySQL服务器提供的一些特性。而且太老了,不安全,所以已经完全被后来的mysqli取代了;

使用方式如下

//从PHP 5.5.0开始过时。

$mysql_conf=array(

主机'='127.0.0.1:3306 ',

db'='测试',

db_user'='root ',

db_pwd'='root ',

);

$ MySQL _ conn=@ MySQL _ connect($ MySQL _ conf[' host '],$mysql_conf['db_user'],$ MySQL _ conf[' db _ pwd ']);

如果(!$mysql_conn) {

Die('无法连接到数据库:\n '。MySQL _ error());//诊断连接错误

}

MySQL _ query(' set names ' utf8 ' ');//编码被转换为UTF-8

//确定连接的数据库是否存在。

$ select _ db=MySQL _ select _ db($ MySQL _ conf[' db ']);

如果(!$select_db) {

Die('无法连接到数据库:\n '。MySQL _ error());

}

$ sql=' select * from user';

$ RES=MySQL _ query($ SQL);

如果(!$res) {

die('可以得到结果:\n '。MySQL _ error());

}

while($ row=MySQL _ fetch _ assoc($ RES)){

print _ r($ row);

}

MySQL _ close($ MySQL _ conn);

2.mysqli扩展

增强的MySQL扩展,可以用来使用MySQL中新的高级特性。其特点是:面向对象的接口、预处理语句支持、多语句执行支持、事务支持、增强的调试能力、嵌入式服务支持、预处理模式,彻底解决了sql注入的问题。缺点是只支持mysql数据库。

//PHP和Mysqli扩展,面向过程和对象

$mysql_conf=array(

主机'='127.0.0.1:3306 ',

db'='测试',

db_user'='root ',

db_pwd'='joshua317 ',

);

$ mysqli=@ new mysqli($ MySQL _ conf[' host '],$mysql_conf['db_user'],$ MySQL _ conf[' db _ pwd ']);

if ($mysqli-connect_errno) {

Die('无法连接到数据库:\n '。$ mysqli-connect _ error);//诊断连接错误

}

$mysqli-query('设置名称' utf8 ';');//代码转换utf8

$ select _ db=$ MySQL-select _ db($ MySQL _ conf[' db ']);

如果(!$select_db) {

die('无法连接到数据库:\n '。$ mysqli-error);

} $ SQL=' select uid from user where name=' Joshua ';';

$ RES=$ mysqli-query($ SQL);

如果(!$res) {

die('sql错误:\n '。$ mysqli-error);

}

while($ row=$ RES-fetch _ assoc()){

var _ dump($ row);

}

$ RES-free();

$ mysqli-close();

3.PDO扩展

PDO是PHP数据对象的缩写,是PHP应用中数据库抽象层的规范。PDO提供的API接口不需要关心要连接的具体数据库服务器系统类型。如果使用PDO的API,可以随时无缝切换数据库服务器,比如从Oracle切换到MySQL。

同样,也解决了sql注入的问题,安全性好。但是,他也有一个缺点,就是不支持一些多语句执行查询(虽然这种情况很少见)。

//PHP和PDO扩展,面向过程和对象

$mysql_conf=array(

主机'='127.0.0.1:3306 ',

db'='测试',

db_user'='root ',

db_pwd'='joshua317 ',

);

$pdo=新PDO('mysql:host='。$mysql_conf['host']。dbname='。$mysql_conf['db'],$mysql_conf['db_user'],$ MySQL _ conf[' db _ pwd ']);//创建一个pdo对象

$ PDO-exec(' set names ' utf8 ' ');

$ SQL=' select * from user where name=?';

$ stmt=$ PDO-prepare($ SQL);

$stmt-bindValue(1,'约书亚',PDO:PARAM _ STR);

$ RS=$ stmt-execute();

如果(卢比){

//PDO:FETCH_ASSOC关联数组形式

//PDO:FETCH_NUM数字索引数组

while($ row=$ stmt-FETCH(PDO:FETCH _ ASSOC)){

var _ dump($ row);

}

}

$ pdo=null//关闭连接

知识点补充

php的MySQL扩展是早期设计和开发的扩展,允许PHP应用程序与MySQL数据库交互。MySQL扩展提供了一个面向过程的接口,是为MySQL4.1.3或更早版本设计的。因此,虽然该扩展可以与MySQL4.1.3或更高版本的数据库服务器进行交互,但它不支持更高版本的MySQL服务器提供的某些功能。因为太老,不安全,已经完全被后来的mysqli取代;

PHP的MySQL扩展,有时称为MySQL增强扩展,可用于使用MySQL4.1.3或更高版本中的新高级功能。其特点是:面向对象的接口、预处理语句支持、多语句执行支持、事务支持、增强的调试能力、嵌入式服务支持、预处理模式,彻底解决了sql注入的问题。但是它也有缺点,就是只支持mysql数据库。如果不操作其他数据库,这无疑是最好的选择。

PDO是PHP数据对象的缩写,是PHP应用中数据库抽象层的规范。PDO提供了一个统一的API接口,可以让你的PHP应用不关心要连接的具体数据库服务器系统类型。也就是说,如果使用PDO的API,可以随时无缝切换数据库服务器,比如从Oracle切换到MySQL,只需要修改少量PHP代码。其功能类似于JDBC、ODBC、DBI等接口。同样,也解决了sql注入的问题,安全性好。但是,他也有一个缺点,就是不支持一些多语句执行查询(虽然这种情况很少见)。

关于PHP与MySQL数据库连接的三种方式的文章到此结束。关于连接PHP和MySQL的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: