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 相关文章推荐
玩转图像函数库―常见图形操作
Sep 03 PHP
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
PHP 第二节 数据类型之数组
Apr 28 PHP
PHP UTF8中文字符截断函数代码
Sep 11 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
Feb 16 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
May 08 PHP
PHP捕获Fatal error错误的方法
Jun 11 PHP
php字符串截取函数用法分析
Nov 25 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
Session 失效的原因汇总及解决丢失办法
Sep 30 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 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
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
Javascript this指针
2009/07/30 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
js中的面向对象入门
2017/03/06 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
2018/08/14 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
利用python求相邻数的方法示例
2017/08/18 Python
python学生信息管理系统
2018/03/13 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
django修改models重建数据库的操作
2020/03/31 Python
python中id函数运行方式
2020/07/03 Python
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
工程预算与管理应届生求职信
2013/10/06 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
小班下学期评语
2014/05/04 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
道士塔读书笔记
2015/06/30 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书
聘任书的格式及模板
2019/10/28 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL