php使用pdo连接并查询sql数据库的方法


Posted in PHP onDecember 24, 2014

本文实例讲述了php使用pdo连接并查询sql数据库的方法。分享给大家供大家参考。

具体实现代码如下:

$login = "root"; 

$passwd = "mysql"; 

try{ 

  $db=new pdo('mysql:host=localhost;dbname=mysql',$login,$passwd); 

  foreach($db->query('select * from test') as $row){ 

  print_r($row); 

  } 

  $db=null; 

}catch(pdoexception $e){ 

  echo $e->getmessage(); 

}

再来看一个高级一点的:
$dbms='mysql'; //数据库类型 oracle 用odi,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数了 

$host='localhost'; //数据库主机名 

$dbname='test'; //使用的数据库 

$user='root'; //数据库连接用户名 

$pass=''; //对应的密码 

$dsn="$dbms:host=$host;dbname=$dbname";  

class db extends pdo {    

 public function __construct(){         

 try {              

 parent::__construct("$globals[dsn]", $globals['user'], $globals['pass']);          

 } catch (pdoexception $e) {          

  die("error: " . $e->__tostring() . "<br/>");        

  }     

  }         

 public final function query($sql){         

 try {            

  return parent::query($this->setstring($sql));         

  }catch (pdoexception $e){             

  die("error: " . $e->__tostring() . "<br/>");        

   }

   }         

   private final function setstring($sql){         

   echo "我要处理一下$sql";         

   return $sql;    }} 

   $db=new db(); 

   $db->setattribute(pdo::attr_case, pdo::case_upper); 

   foreach ($db->query('select * from xxxx_menu') as $row) {     

   print_r($row); 

   } 

$db->exec('delete from `xxxx_menu` where mid=43');

关于pdo说明

pod(php data object)扩展在php5中加入,php6中将默认识用pdo连接数据库,所有非pdo扩展将会在php6被从扩展中移除。该扩展提供php内置类 pdo来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题。

我是配置在windows下做开发用的。

pdo的目标:

提供一种轻型、清晰、方便的 api,统一各种不同 rdbms 库的共有特性,但不排除更高级的特性,通过 php 脚本提供可选的较大程度的抽象/兼容性.

pdo的特点:

性能,pdo 从一开始就吸取了现有数据库扩展成功和失败的经验教训,因为 pdo 的代码是全新的,所以我们有机会重新开始设计性能,以利用 php 5 的最新特性.

能力

pdo 旨在将常见的数据库功能作为基础提供,同时提供对于 rdbms 独特功能的方便访问.

简单

pdo 旨在使您能够轻松使用数据库,api 不会强行介入您的代码,同时会清楚地表明每个函数调用的过程.

运行时可扩展

pdo 扩展是模块化的,使您能够在运行时为您的数据库后端加载驱动程序,而不必重新编译或重新安装整个 php 程序,例如,pdo_oci 扩展会替代 pdo 扩展实现 oracle 数据库 api,还有一些用于 mysql、postgresql、odbc 和 firebird 的驱动程序,更多的驱动程序尚在开发.

希望本文所述对大家的php数据库程序设计有所帮助。

PHP 相关文章推荐
使用 MySQL 开始 PHP 会话
Dec 21 PHP
FCKeditor添加自定义按钮
Mar 27 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
Dec 19 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
Mar 17 PHP
php学习笔记之面向对象
Nov 08 PHP
php使用PDO方法详解
Dec 27 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
PHP curl使用实例
Jul 02 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
PHP安装BCMath扩展的方法
Feb 13 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
php将access数据库转换到mysql数据库的方法
Dec 24 #PHP
php启用sphinx全文搜索的实现方法
Dec 24 #PHP
php中mail函数发送邮件失败的解决方法
Dec 24 #PHP
微信公众平台接口开发入门示例
Dec 24 #PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 #PHP
php实现refresh刷新页面批量导入数据的方法
Dec 23 #PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 #PHP
You might like
用PHP开发GUI
2006/10/09 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
JavaScript设计模式之适配器模式介绍
2014/12/28 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
React中的render何时执行过程
2018/04/13 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
vue根据条件不同显示不同按钮的操作
2020/08/04 Javascript
vue实现放大镜效果
2020/09/17 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
Python中音频处理库pydub的使用教程
2017/06/07 Python
Python3之文件读写操作的实例讲解
2018/01/23 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
Django框架模板文件使用及模板文件加载顺序分析
2019/05/23 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
什么造成了Java里面的异常
2016/04/24 面试题
生物技术研究生自荐信
2013/11/12 职场文书
会计的岗位职责
2014/03/15 职场文书
团日活动总结报告
2014/06/25 职场文书
信息技术课教学反思
2016/02/23 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫