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 相关文章推荐
在WINDOWS中设置计划任务执行PHP文件的方法
Dec 19 PHP
PHP列出MySQL中所有数据库的方法
Mar 12 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
PHP整合七牛实现上传文件
Jul 03 PHP
Codeigniter控制器controller继承问题实例分析
Jan 19 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
PHP类和对象相关系统函数与运算符小结
Sep 28 PHP
php实现URL加密解密的方法
Nov 17 PHP
php解析base64数据生成图片的方法
Dec 06 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 PHP
PHP下用Swoole实现Actor并发模型的方法
Jun 12 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全角字符转换为半角函数
2014/02/07 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
JavaScript 设计模式学习 Factory
2009/07/29 Javascript
javascript模拟select,jselect的方法实现
2012/11/08 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
Angular4编程之表单响应功能示例
2017/12/13 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
Python实现的寻找前5个默尼森数算法示例
2018/03/25 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
Python适配器模式代码实现解析
2019/08/02 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
怎么处理XML的中文问题
2015/03/26 面试题
校长岗位职责
2013/11/26 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
党员公开承诺书2015
2015/01/21 职场文书
教师继续教育反思周记
2015/06/25 职场文书
2016小学新学期寄语
2015/12/04 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
Python中的套接字编程是什么?
2021/06/21 Python
MySQL创建管理LIST分区
2022/04/13 MySQL