撮使搜平遣程储惦革颁抛戚口
PDO连接数据
1. PDO是PHP与其它数据库之间的中间层,或者抽象层
2. PDO屏蔽了各个数据库之间的差异,对PHP提供了一个统一的访问接口
3. 使用PDO的第一步就是生成一个PDO对象,所有的功能必须要用这个对象来调用
4. 成功返回PDO对象,失败抛出异常
1.配置参数
DNS:数据源
基本格式: 数据库类型:属性1:值1; 属性2:值2;…
类型:如mysqli,oracle等
属性: 主机,默认数据库,默认字符集,默认端口号
例如: mysql:host=127.0.0.1;dbname=php;charset=utf8;port=3306;
新建目录11-2,在该目录下新建pdo_connect.php
代码:
<?php //1.配置参数 /** * DNS:数据源 * 基本格式: 数据库类型:属性1:值1; 属性2:值2;... * 类型:如mysqli,oracle等 * 属性: 主机,默认数据库,默认字符集,默认端口号 * 例如: mysql:host=127.0.0.1;dbname=php;charset=utf8;port=3306; */ $dsn='mysql:host=127.0.0.1;dbname=myuser;charset=utf8;port=3306'; //数据库用户名 $username='root'; //数据库密码 $password="root"; //配置连接属性 $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //设置错误模式 PDO::ATTR_CASE => PDO::CASE_NATURAL, //数据表字段保持不变 PDO::ATTR_EMULATE_PREPARES => true, //启用PDO模拟 PDO::ATTR_PERSISTENT => true, //启用持久性连接 ]; //使用try-catch()来捕获可能发生的错误 try{ $pdo=new PDO($dsn,$username,$password,$options); //一般情况这里还有throw(抛出)错误信息,但是这里不用,因为第4个参数已经强制抛出错误了 }catch(PDOException $e) { echo "连接错误:".$e->getMessage(); die();//连接错误是致命错误,必须停止脚本的执行 } //断开PDO连接 $pdo = null; //销毁PDO对象 unset($pdo);
执行,连接成功
简写:
<?php $pdo=new PDO('mysql:dbname=myuser','root','root'); //断开PDO连接 $pdo = null; //销毁PDO对象 unset($pdo);
讳泪耽酮点吠鲍那般皋喉乃旦