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 相关文章推荐
PHP4实际应用经验篇(7)
Oct 09 PHP
php 应用程序安全防范技术研究
Sep 25 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
May 07 PHP
php实现的百度搜索某地天气的小偷代码
Apr 23 PHP
php读取csv文件并输出的方法
Mar 14 PHP
使用 PHPStorm 开发 Laravel
Mar 24 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
ThinkPHP中create()方法自动验证表单信息
Apr 28 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP+redis实现的购物车单例类示例
Feb 02 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 PHP
laravel 出现command not found问题的解决方案
Oct 23 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 Socket技术
2013/08/02 PHP
php 变量引用与变量销毁机制详细介绍
2016/12/05 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
javascript实现可键盘控制的抽奖系统
2016/03/10 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
微信小程序签到功能
2018/10/31 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
Python 文件操作实现代码
2009/10/07 Python
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
GWT的应用有哪两种部署模式
2012/12/21 面试题
医学专业毕业生个人的求职信
2013/12/04 职场文书
服务行业个人求职的自我评价
2013/12/12 职场文书
骨干教师培训感言
2014/01/16 职场文书
公司合作意向书
2014/04/01 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
致运动员赞词
2015/07/22 职场文书
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js
移除Selenium中window.navigator.webdriver值
2022/06/10 Python