php pdo连接并查询sql数据库代码
<?php
$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();
}
?>看一个高级一点的:
<?php
$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/>");
} //开源代码phprm.com
}
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 的驱动程序,更多的驱动程序尚在开发.
本文地址:http://www.phprm.com/develop/fs5428.html
转载随意,但请附上文章地址:-)