pdo:统一API能操作各种数据库。
开启pdo拓展。在php.ini文件里面.
重启即可.
第一种连接pdo的方式:
<?php try { $dsn="mysql:host=localhost;dbname=a"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码 var_dump($pdo); }catch(PDOException $e) { echo $e->getMessage();//错误信息 }
第二种连接mysql的方式:url方式
<?php try { $dsn="uri:file://F:/6/htdocs/1.txt"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd); var_dump($pdo); }catch(PDOException $e) { echo $e->getMessage(); }
第三种形式:配置文件
<?php try { $dsn="a"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd); var_dump($pdo); }catch(PDOException $e) { echo $e->getMessage(); }
<?php try { $dsn="mysql:host=localhost;dbname=a"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码 $sql=<<<EOF create table if not exists user( content varchar(30) not null ); EOF; $res=$pdo->exec($sql);//执行一条sql语句,对于select没有作用 var_dump($res); }catch(PDOException $e) { echo $e->getMessage();//错误信息 }
<?php try { $dsn="mysql:host=localhost;dbname=a"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码 $sql=<<<EOF create table if not exists user( content varchar(30) not null ); EOF; $res=$pdo->exec($sql); var_dump($res); $sql="insert into user(content) values('king')";//插入数据 $res=$pdo->exec($sql); var_dump($res); }catch(PDOException $e) { echo $e->getMessage();//错误信息 }
<?php try { $dsn="mysql:host=localhost;dbname=a"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码 $sql="sqjosjosjo";//实验错误码 $res=$pdo->exec($sql); if($res===false) { echo $pdo->errorCode();//错误码 echo "<br />"; print_r($pdo->errorInfo());//数组( 错误码 错误编码 错误信息) } }catch(PDOException $e) { echo $e->getMessage();//错误信息 }
<?php try { $dsn="mysql:host=localhost;dbname=a"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码 $sql="select * from user";//实验错误码 $res=$pdo->query($sql);//这个可以执行查询select var_dump($res);//得到一个object(PDOStatement),遍历才可以输出 foreach($res as $row) { print_r($row); } }catch(PDOException $e) { echo $e->getMessage();//错误信息 }
<?php try { $dsn="mysql:host=localhost;dbname=a"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码 $sql="select * from user"; $sm=$pdo->prepare($sql);//预处理的意思是准备处理 $res=$sm->execute();//通过这个方法处理 $row=$sm->fetch();//得到结果的一条记录,所有记录:fetchAll() print_r($row); }catch(PDOException $e) { echo $e->getMessage();//错误信息 }
<?php try { $dsn="mysql:host=localhost;dbname=a"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码 $sql="select * from user"; $sm=$pdo->prepare($sql); $res=$sm->execute(); if($res)//直到没有数据才停止循环 { while($row=$sm->fetch()) { print_r($row); } } }catch(PDOException $e) { echo $e->getMessage();//错误信息 }
<?php try { $dsn="mysql:host=localhost;dbname=a"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码 echo "自动提交".$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);//事务默认提交是否开启 }catch(PDOException $e) { echo $e->getMessage();//错误信息 }
<?php try { $dsn="mysql:host=localhost;dbname=a"; $username="root"; $passwd=""; $pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码 echo "自动提交".$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);//事务默认提交是否开启 echo "<br />"; echo "pdo默认处理错误模式".$pdo->getATTribute(PDO::ATTR_ERRMODE); echo "<br />"; "禁用自动提交".$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0); echo "<br />"; echo "自动提交".$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);//事务默认提交是否开启0 } catch(PDOException $e) { echo $e->getMessage();//错误信息 }