PDO操作MySQL根底教程_php技能_脚本之家

本文实例呈报了PHP PDO操作MySQL的主意。分享给我们供大家参照他事他说加以考查,具体如下:

本文实例呈报了PHP连接MySQL数据库的三种情势。分享给大家供大家参谋,具体如下:

PHP中的PDO扩大为PHP访问数据库定义了二个轻量级的、黄金年代致性的接口,它提供了八个数额访问抽象层,那样,不论使用什么数据库,都得以通过同样的函数实行查询和获取数据。

PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩大 、PHP的mysqli扩大、PHP数据对象
,上面针对以上三种连接格局做下总括,以备在分化景象下选出最优方案。

PDO操作MySQL根底教程_php技能_脚本之家。PDO扶植的PHP版本为PHP5.1以致越来越高的本子,何况在PHP5.2下PDO默以为开启状态,

PHP的MySQL扩张是安插性开采允许php应用与MySQL数据库人机联作的前期扩大。MySQL扩张提供了二个面向进度的接口,並且是本着MySQL4.1.3依旧更早版本设计的。因而那些扩张即使能够与MySQL4.1.3或更新的数据库服务端进行交互作用,但并不协助后期MySQL服务端提供的局地表征。由于太古老,又不安全,所以已被新兴的mysqli完全代表;

上面是在php.ini中PDO的陈设:

PHP的mysqli扩张,大家一时称之为MySQL加强增添,能够用于接受MySQL4.1.3或更新版本中新的高级特性。其特色为:面向对象接口
、prepared语句扶助、多语句试行帮助、事务扶助、巩固的调治将养手艺、嵌入式服务支撑
、预管理方式完全缓慢解决了sql注入的难点。可是其也会有缺点,正是只支持mysql数据库。假若您生机勃勃旦不操作其余的数据库,那活脱脱是最棒的取舍。

extension=php_pdo.dll

PDO是PHP Data
Objects的缩写,是PHP应用中的三个数据库抽象层典型。PDO提供了贰个统生龙活虎的API接口能够使得你的PHP应用不去关怀具体要连接的数据库服务器系统项目,也正是说,若是您接收PDO的API,能够在别的索要的时候无缝切换数据库服务器,举例从Oracle
到MySQL,仅仅须求改善少之又少的PHP代码。其效力看似于JDBC、ODBC、DBI之类接口。相像,其也消除了sql注入难题,有很好的安全性。可是她也可以有劣点,有个别多语句实行查询不补助。

为了启用对有个别数据库的帮助,供给在php配置文件司令员相应的扩展展开,比如要辅助MySQL,需求敞开上面的扩充

官文对于三者之间也做了列表性的可比:

extension=php_pdo_mysql.dll

PHP的mysqli扩大 PDO PHP的mysql扩大 引进的PHP版本 5.0 5.0 3.0在此以前PHP5.x是还是不是含有 是 是 是 MySQL开采景况 活跃 在PHP5.3中活跃 仅维护
在MySQL新品类中的建议接纳程度 提出 – 首推 提出 不提议 API的字符集辅助 是
是 否 服务端prepare语句的支撑情形 是 是 否 客商端prepare语句的支撑情况否 是 否 存款和储蓄进程扶植景况 是 是 否 多语句实践协理情状 是 大多数 否
是还是不是帮助具有MySQL4.1以上功效 是 大好些个 否

上面是行使PDO对mysql举行基本的增删改查操作

从官方给出的那份结果上来看,优先推荐msqli,其次是PDO
。而“民间”给出的结果好多是帮忙于接受PDO,因为其不担有跨库的优点,更有读写速度快的特点。

创立test数据库,然后运营以下SQL语句:

1.PHP与Mysql扩展(本扩展自 PHP 5.5.0
起已遗弃,并在将来会被移除),PHP原生的法子去老是数据库,是面向进度的

DROP TABLE IF EXISTS `test`;CREATE TABLE `test`  NOT NULL DEFAULT '0',`user` char DEFAULT NULL,PRIMARY KEY ,KEY `idx_age`  ENGINE=InnoDB DEFAULT CHARSET=utf8;

getMessage();}//新增$sql="insert into test  values ";$res=$pdo->exec;echo '影响行数:'.$res;//修改$sql="update test set user='phpthinking' where id=1";$res=$pdo->exec;echo '影响行数:'.$res;//查询$sql="select * from test";$res=$pdo->query;foreach{echo $row['user'].'
';}//删除$sql="delete from test where id=1";$res=$pdo->exec;echo '影响行数:'.$res;
 '127.0.0.1:3306', 'db' => 'test', 'db_user' => 'root', 'db_pwd' => 'root', );$mysql_conn = @mysql_connect($mysql_conf['host'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);if  { die("could not connect to the database:n" . mysql_error;//诊断连接错误}mysql_query;//编码转化$select_db = mysql_select_db;if  { die("could not connect to the db:n" . mysql_error;}$sql = "select * from user;";$res = mysql_query { die("could get the res:n" . mysql_error;}while ($row = mysql_fetch_assoc { print_r;}mysql_close;?>

越多关于PHP相关内容感兴趣的读者可查阅本站专项论题:《PHP基于pdo操作数据库技能计算》、《php+Oracle数据库程序设计技艺总计》、《PHP+MongoDB数据库操作技术大全》、《php面向对象程序设计入门教程》、《php字符串用法计算》、《php+mysql数据库操作入门教程》及《php不乏先例数据库操作才具汇总》

2.PHP与Mysqli扩充,面向过程、对象

希望本文所述对我们PHP程序设计具备助于。

 '127.0.0.1:3306', 'db' => 'test', '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("could not connect to the database:n" . $mysqli->connect_error);//诊断连接错误}$mysqli->query;//编码转化$select_db = $mysqli->select_db;if  { die("could not connect to the db:n" . $mysqli->error);}$sql = "select uid from user where name = 'joshua';";$res = $mysqli->query { die("sql error:n" . $mysqli->error);} while ($row = $res->fetch_assoc; }$res->free;?>

3.PHP与PDO扩充,面向进度、对象

 '127.0.0.1:3306', 'db' => 'test', 'db_user' => 'root', 'db_pwd' => 'joshua317', );$pdo = new PDO("mysql:host=" . $mysql_conf['host'] . ";dbname=" . $mysql_conf['db'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);//创建一个pdo对象$pdo->exec;$sql = "select * from user where name = ?";$stmt = $pdo->prepare;$stmt->bindValue(1, 'joshua', PDO::PARAM_STR);$rs = $stmt->execute { // PDO::FETCH_ASSOC 关联数组形式 // PDO::FETCH_NUM 数字索引数组形式 while ($row = $stmt->fetch { var_dump; }}$pdo = null;//关闭连接?>

越来越多关于PHP相关内容感兴趣的读者可查阅本站专项论题:《PHP基于pdo操作数据库才干计算》、《php+mysqli数据库程序设计技艺总括》、《php面向对象程序设计入门教程》、《php字符串用法总结》、《php+mysql数据库操作入门教程》及《php不以为奇数据库操作本领汇总》

瞩望本文所述对我们PHP程序设计有着扶植。

发表评论

电子邮件地址不会被公开。 必填项已用*标注