php如何与数据库连接(数据库与php建立连接),本文通过数据整理汇集了php如何与数据库连接(数据库与php建立连接)相关信息,下面一起看看。

   PHP与MySQL连接的API接口有三个,分别是:PHP的MySQL扩展、PHP的mysqli扩展和PHP数据对象(PDO)。以下是对以上三种连接方式的总结,以便在不同场景下选择最佳方案。

   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注入的问题,安全性好。但是,他也有一个缺点,就是不支持一些多语句执行查询(虽然这种情况很少见)。

  这位官员还对三者进行了列表比较:

  从官方结果来看,首先推荐msqli,其次是PDO。但“民间”给出的很多结果倾向于使用PDO,因为它不具备跨库的优势,还具有读写速度快的特点。

  与1.PHP Mysql扩展(这个扩展从PHP 5.5.0开始就被放弃了,以后会被移除)相比,PHP原生的连接数据库的方式是面向进程的。

  ?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

   $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 ");//代码转换

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

  如果(!$select_db) {

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

   }

   $ sql=" select * from user";

   $ RES=MySQL _ query($ SQL);

  如果(!$res) {

   die("可以得到res:\n "。MySQL _ error());

   }

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

   print _ r($ row);

   }

   MySQL _ close($ MySQL _ conn);

  ?

  用2.PHP Mysqli扩展,面向过程和对象。

  ?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

   $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 ;");//代码转换

   $ 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.PHP和PDO扩展,面向过程和对象。

  ?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

   $mysql_conf=array(

  主机=127.0.0.1:3306 ,

   db=测试,

   db_user=root ,

   db_pwd=joshua317 ,

   );

   $pdo=新PDO .$mysql_conf[host].";dbname=" .$mysql_conf[db],$mysql_conf[db_user],$ MySQL _ conf[ db _ pwd ]);//创建一个数据对象对象

   $ PDO执行(" set names utf8 ");

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

   $ stmt=$ PDO-准备($ SQL);

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

   $ RS=$ stmt-execute();

  如果(卢比){

   //PDO:获取_关联关联数组形式

   //PDO:获取数量数字索引数组形式

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

   var _ dump($ row);

   }

   }

   $ pdo=null//关闭连接

  ?

  更多php如何与数据库连接(数据库与php建立连接)相关信息请关注本站,本文仅仅做为展示!详情价格咨询客服!