2. PDO 的使用
来源:互联网 发布:淘宝店铺买卖 编辑:程序博客网 时间:2024/06/05 20:08
1. exec()
1.1 建表<?phptry { $dsn = 'mysql:host=localhost;dbname=test'; $username = 'root'; $password = '123456'; $pdo = new PDO($dsn,$username,$password); //exec();执行一条 sql 语句,并返回受影响的记录的条数,如果没有受影响返回0 //exec 对 select 没有作用 $sql = <<<EOFcreate table if not exists user( id int unsigned auto_increment key, username varchar(20) not null unique, password char(32) not null, email varchar(32) not null)EOF; $res = $pdo->exec($sql); var_dump($res);} catch (PDOException $e) { echo $e->getMessage();}返回 0;
插入记录://插入一条记录 //$sql = 'insert user(username,password,email) values("wjh",md5("wjh"),"188@qq.com")'; //$res = $pdo->exec($sql); 返回 1 //插入多条记录$sql = <<<EOF insert user(username,password,email) values("wjh1",md5("wjh"),"188@qq.com"), ("wjh2",md5("wjh"),"188@qq.com"), ("wjh3",md5("wjh"),"188@qq.com")EOF; $res = $pdo->exec($sql); // 返回 3 $pdo->lastInsertId(); //返回 最后一条插入记录的 ID
更新记录: $sql = 'update user set username="immoc" where id=3'; $res = $pdo->exec($sql);
删除记录 $sql = 'delete from user where id=2'; $res = $pdo->exec($sql);
获取错误信息://删除记录 $sql = 'delete from user12 where id=2'; $res = $pdo->exec($sql); if ($res === false) { //返回数据库句柄上一次操作相关的SQLSTATE的值 echo $pdo->errorCode(); echo '<br/>'; //返回数据库句柄上一次操作错误信息的数组,数组包括3个单元 //1. 0 => SQLSTATE //2. 1 => 错误编号,CODE //3. 3 => 信息 $errInfo = $pdo->errorInfo(); var_dump($errInfo); } else { var_dump($res); }
2. query()
try { $pdo = new PDO('mysql:host=localhost;dbname=test','root','123456'); //$sql = 'select * from user where id=2;'; $sql = 'select * from user;'; //执行 sql 语句,返回PDOStatement对象 $stmt = $pdo->query($sql); foreach ($stmt as $row) { echo $row['id']; echo '<br/>'; echo $row['username']; echo '<br/>'; echo $row['password']; echo '<br/>'; echo $row['email']; echo '<br/>'; }} catch (PDOException $e) { echo $e->getMessage();}
3.prepare() and execute()
try { $pdo = new PDO('mysql:host=localhost;dbname=test','root','123456'); $sql = "select * from user"; //返回一个 PDOStatement 对象 //prepare($sql);准备 sql 语句 $stmt = $pdo->prepare($sql); //设置默认的返回模式 $stmt->setFetchMode(PDO::FETCH_OBJ); // execute(); 执行预处理语句,返回布尔值 $res = $stmt->execute(); //取出结果集取出一条记录// $row = $stmt->fetch(); if ($res) { while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { var_dump($row ); } } //用 fetchAll() /*$rows = $stmt->fetchAll(); var_dump($rows);*/} catch (PDOException $e) { echo $e->getMessage();}
4.getAttribute() and setAttribute()
try { $dsn = 'mysql:host=localhost;dbname=test'; $username = 'root'; $password = '123456'; $pdo = new PDO($dsn,$username,$password); // 默认为 1 ,自动提交 echo '自动提交 : ' . $pdo->getAttribute(PDO::ATTR_AUTOCOMMIT); echo '<br/>'; echo '默认错误处理模式 :' . $pdo->getAttribute(PDO::ATTR_ERRMODE); echo '<br/>'; $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0); echo '自动提交 : ' . $pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);} catch (PDOException $e) { echo $e->getMessage();}
<?phptry { $dsn = 'mysql:host=localhost;dbname=test'; $username = 'root'; $password = '123456'; $pdo = new PDO($dsn,$username,$password); $attArr = array( 'AUTOCOMMIT', 'CASE', 'CLIENT_VERSION', 'CONNECTION_STATUS', 'DRIVER_NAME', 'ERRMODE', 'ORACLE_NULLS', 'PERSISTENT', 'PREFETCH', 'SERVER_INFO', 'SERVER_VERSION', 'TIMEOUT' ); foreach ($attArr as $attr) { echo "PDO_ATTR_$attr : "; echo $pdo->getAttribute(constant("PDO::ATTR_$attr")); echo '<br/>'; }} catch (PDOException $e) { echo $e->getMessage();}
0 0
- 2. PDO 的使用
- PDO及PDO -> prepare的简单使用
- PDO及PDO -> prepare的简单使用
- [PHP]PDO的使用
- PHP PDO的使用
- PDO的使用
- pdo的使用
- pdo的基本使用
- PDO的使用
- PHP PDO的使用
- pdo的基本使用
- PHP中PDO的使用
- pdo的使用操作1
- pdo的使用操作2
- PHP中PDO的使用
- PDO的学习与使用
- php中pdo的使用
- pdo类的使用实例
- 顺序串及快速排序算法
- leetcode之reverse Integer
- USACO 1.1-beads
- LeetCode之旅(20)-Power of Three
- nginx学习笔记(2)---nginx配置文件中优化相关的参数
- 2. PDO 的使用
- Android重力感应
- C++ 赋值运算符=重载
- [练习5]js学习之利用随机数滚动出现图片
- Android系统应用导入Eclipse中开发
- hdu1200(模拟)
- [经验]你想不到的PhpExcel导不出文件的原因
- linux shell 中的 2>&1 用法说明
- java 邮箱验证激活