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 Document 代码注释规范
Apr 13 PHP
php使用base64加密解密图片示例分享
Jan 20 PHP
php实现读取手机客户端浏览器的类
Jan 09 PHP
PHP中使用socket方式GET、POST数据实例
Apr 02 PHP
PHP实现163邮箱自动发送邮件
Mar 29 PHP
学习PHP Cookie处理函数
Aug 09 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
Jan 21 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 PHP
完美解决thinkphp唯一索引重复时出错的问题
Mar 31 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
php和asp语法上的区别总结
May 12 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
Apr 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 数组和字符串互相转换实现方法
2013/03/26 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
freemarker判断对象是否为空的方法
2015/08/13 Javascript
JavaScript头像上传插件源码分享
2016/03/29 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
js html实现计算器功能
2018/11/13 Javascript
vue中实现Monaco Editor自定义提示功能
2019/07/05 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
pycharm 使用心得(四)显示行号
2014/06/05 Python
Python文件夹与文件的操作实现代码
2014/07/13 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
微信跳一跳python代码实现
2018/01/05 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
PHP如何设置和取得Cookie值
2015/06/30 面试题
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
自我评价范文
2013/12/22 职场文书
《闻一多先生的说和做》教学反思
2014/04/28 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
小学语文业务学习材料
2014/06/02 职场文书
班子四风对照检查材料
2014/08/21 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
Python利用FlashText算法实现替换字符串
2022/03/31 Python