您好,欢迎访问一九零五行业门户网

PDO学习笔记

pdo扩展为php访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。
pdo随php5.1发行,在php5.0的pecl扩展中也可以使用,无法运行于之前的php版本。
在pdo出现之间,在php中连接数据库的函数根据数据库的不同而不同。
例如,mysql用 mysql_connect 函数, postgresql数据库用 pg_connect 函数。
通过pdo编写的代码,今后数据库发生变化,只需要适当修改数据库的连接参数,不需要修改逻辑代码即可。
pdo和主要数据库的驱动同php一起作为扩展发布,要激活它们只需简单的编辑php.ini文件:
extension=php_pdo.dll
然后,选择针对特定数据库的dll文件使用 dl() 在运行时加载,或者在php.ini文件中 php_pdo.dll 行后启用它们,如:
extension=php_pdo.dllextension=php_pdo_mysql.dllextension=php_pdo_pgsql.dllextension=php_pdo_sqlite.dll
mysql数据库连接$dsn = 'mysql:dbname=yii2test;host=localhost';$user = 'sqluser';$password = 'sqlpassword';$db = new pdo($dsn, $user, $password);try{ $dbh = new pdo($dsn, $user, $password);}catch (pdoexception $e){ print('error:'.$e->getmessage()); die();}
postgresql数据库连接$dsn = 'pgsql:dbname=yii2test host=localhost port=5432';$user = 'sqluser';$password = 'sqlpassword';try{ $dbh = new pdo($dsn, $user, $password);}catch (pdoexception $e){ print('error:'.$e->getmessage()); die();}
sqlite数据库连接$dsn = 'sqlite:d:/sqlite/yii2test.db';$user = '';$password = '';try{ $dbh = new pdo($dsn, $user, $password);}catch (pdoexception $e){ print('error:'.$e->getmessage()); die();}
pdo操作mysql数据库示范代码:
prepare($sql); $param = []; $param[] = 'admin'. date('ymdhis'); $param[] = time(); $param[] = md5(time()); $param[] = 10; if($stmt->execute($param)) { echoinsert ok ! .php_eol; } else { echoinsert ng ! .php_eol; } // echo php_eol. ==> query . php_eol; $sql = select * from user; $data = $db->query($sql); foreach($dataas$row) { echo$row[username] . . $row[password]. php_eol; } // echo php_eol. ==> prepare 1 . php_eol; $sql = 'select * from user where username like ?'; $stmt = $db->prepare($sql); $stmt->execute(['admin%']); while($result = $stmt->fetch(pdo::fetch_assoc)) { print_r($result); } // echo php_eol. ==> prepare 2 . php_eol; $sql = 'select * from user where username like :username'; $stmt = $db->prepare($sql); $stmt->execute([':username' => 'admin%']); while ($result = $stmt->fetch(pdo::fetch_assoc)) { print_r($result); }}catch (pdoexception $e){ print('error:'.$e->getmessage()); die();}// 关闭数据库连接$db = null;
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了pdo学习笔记,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息