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 相关文章推荐
php中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
php str_pad 函数使用详解
Jan 13 PHP
献给php初学者(入门学习经验谈)
Oct 12 PHP
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
解析PHP缓存函数的使用说明
May 10 PHP
如何在Ubuntu下启动Apache的Rewrite功能
Jul 05 PHP
php用正则表达式匹配URL的简单方法
Nov 12 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
Dec 09 PHP
laravel5.6实现数值转换
Oct 23 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 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常用image图像函数集
2013/06/24 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
setAttribute 与 class冲突解决
2008/02/17 Javascript
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
javascript 面向对象编程 function也是类
2009/09/17 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
.vue文件 加scoped 样式不起作用的解决方法
2018/05/28 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
[01:03:09]完美世界DOTA2联赛PWL S2 Forest vs SZ 第二场 11.25
2020/11/26 DOTA
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
查看Django和flask版本的方法
2018/05/14 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
以太网Ethernet IEEE802.3
2013/08/05 面试题
党支部综合考察材料
2014/05/19 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
小学班级标语口号大全
2015/12/26 职场文书
python 中的@运算符使用
2021/05/26 Python
springboot入门 之profile设置方式
2022/04/04 Java/Android