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 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
如何在PHP中使用Oracle数据库(3)
Oct 09 PHP
php程序之die调试法 快速解决错误
Sep 17 PHP
php强制下载类型的实现代码
Apr 21 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
Jun 21 PHP
php防止sql注入简单分析
Mar 18 PHP
PHP curl模拟登录带验证码的网站
Nov 30 PHP
学习php设计模式 php实现观察者模式(Observer)
Dec 09 PHP
PHP按指定键值对二维数组进行排序的方法
Dec 22 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
Apr 15 PHP
详解PHP素材图片上传、下载功能
Apr 12 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
Oct 09 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
python编程使用协程并发的优缺点
2018/09/20 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
Python Sqlalchemy如何实现select for update
2020/10/12 Python
荷兰手表网站:Watch2Day
2018/07/02 全球购物
数据库面试要点基本概念
2013/10/31 面试题
学生干部的自我评价分享
2014/01/18 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
保安公司服务承诺书
2014/05/28 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript
浅谈什么是SpringBoot异常处理自动配置的原理
2021/06/21 Java/Android
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android