为了账号安全,请及时绑定邮箱和手机立即绑定
  • quote()返回带引号的字符串,过滤字符串中的特殊字符,以防止SQL注入
    查看全部
  • //prepare($sql) 准备SQL语句 $stmt = $pdo->prepare($sql); //execute() 执行预处理语句 $res = $stmt->execute(); //fetch 取出结果集 $row = $stmt->fetch();
    查看全部
  • errorInfo()返回的三个信息分别是错误码,错误编号,错误信息 1.$pdo->errorCode() 返回跟数据库句柄上一次操作相关的SQLSTATE值 2.$pdo->errorInfo() 返回错误信息的数组,包含三个单元0=>SQLSTATE,1=>CODE,2=>INFO
    查看全部
  • exec()对SELECT没有作用;若语句错误则返回false;
    查看全部
  • PDO对象的方法
    查看全部
  • PDO对象的方法
    查看全部
  • 【PHP Data Object 数据库访问抽象层】用于统一各种数据库的访问接口 PDO特性: 1.编码一致性 2.灵活性 3.高性能 4.面向对象特性
    查看全部
    0 采集 收起 来源:PDO简介

    2016-03-04

  • <?php /* * 1.通过PDO连接数据库! */ $pStartTime = microtime(true); $pdo = new PDO('mysql:host=127.0.0.1;dbname=test','root','123456'); $sql = 'INSERT test (id) VALUES (?)'; $stm = $pdo->prepare($sql); $id = 1; for($i=1; $i<=1000;$i++) { $stm->bindParam(1, $id); $stm->execute(); } unset($pdo); $pEndTime = microtime(true); $res1 = $pEndTime - $pStartTime; echo 'PDO耗时:'.$res1.'秒!<br/>'; //2.通过mysql连接数据库! $mStartTime = microtime(true); $dbh = mysql_connect('127.0.0.1','root','123456'); mysql_select_db('test'); $sql = 'INSERT test (id) VALUES (2)'; for($h=1;$h<=1000;$h++) { mysql_query($sql,$dbh); } $mEndTime = microtime(true); mysql_close(); $res2 = $mEndTime - $mStartTime; echo 'MYSQL耗时:'.$res2.'秒!<br/>'; if($res1 > $res2) { echo 'pdo插入数据耗时是mysql的'.round($res1/$res2).'倍'; } else { echo 'mysql插入数据耗时是pdo的'.round($res2/$res1).'倍'; }
    查看全部
    0 采集 收起 来源:PDO效率剖析

    2018-03-22

  • <?php /* * 已转账为例,分两步操作,第一步,先从用户A账户中取出2000千元,既 -2000 ,没有异常的话将在 * 用户B中存入2000元,既+2000,如果这两个操作都没问题的话,则提交事务成功转账,否则抛出异常 * 回滚事务。 */ try{ $dsn = 'mysql:host=localhost;dbname=test'; $options = array(PDO::ATTR_AUTOCOMMIT => 0); $pdo = new PDO($dsn, 'root', '123456', $options); //检测是否在一个事务中 var_dump($pdo->inTransaction()); //开启一个事务 $pdo->beginTransaction(); //检测是否在一个事务中 var_dump($pdo->inTransaction()); $sql = 'UPDATE userAccount SET money=money-2000 WHERE username="my"'; $res1 = $pdo->exec($sql); if($res1 == 0) { throw new PDOException('“my”转账失败!'); } $res2 = $pdo->exec('UPDATE userAccount SET money=money+2000 WHERE username="bilis"'); if($res2 == 0) { throw new PDOException('bili 接收失败!'); } //提交事务! $pdo->commit(); }catch(PDOException $e) { //回滚事务! $pdo->rollBack(); echo $e->getMessage(); }
    查看全部
    0 采集 收起 来源:PDO事务处理

    2018-03-22

  • <?php /* * PDO::ERRMODE_SLIENT:默认模式,静默模式! * PDO::ERRMODE_WARNING:警告模式! * PDO::ERRMODE_EXCEPTION:异常模式! * 查手册PDO::setAttribute()项。 */ try{ $pdo = new PDO('mysql:host=localhost;dbname=test','root','123456'); //推荐使用exception异常模式。 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql = 'select * from noneTable'; $stm = $pdo->query($sql); echo '<pre>'; print_r($stm); }catch(PDOException $e) { echo $e->getMessage(); }
    查看全部
  • nextRowset()方法实际上就是将结果集指针移动到下一个结果集,如图所示,封装的存储过程中有两个select语句,他将返回两个结果集,正常情况下,调用一次该方法近返回一个结果集的内容,你可以通过手动调用或者循环调用将结果集指针移动到下一个结果集中,通过视频中代码示例将两个结果记得内容全部显示出来。
    查看全部
  • $stm->fetchColumn(0); $stm->fetchColumn(1); $stm->fetchColumn(2); 按照上述缩写,分别获取第一列的第一行,第二列的第二行和第三列的第三行,而不是第一行的123列的值。。。
    查看全部
  • <?php try{ $pdo = new PDO('mysql:host=localhost;dbname=querytest','root','123456'); $sql = 'select username,email from user'; $stm = $pdo->prepare($sql); /* * 实际上就是把select按字段查询得到的结果赋值给变量 */ $stm->bindColumn('username',$username,PDO::PARAM_STR); $stm->bindColumn('email',$email,PDO::PARAM_STR); $stm->execute(); while($row = $stm->fetch(PDO::FETCH_ASSOC)) { echo $username.' # '.$email.'<br />'; } }catch(PDOEXception $e) { echo $e->getMessage(); }
    查看全部
  • 三秒后跳转到登录页面
    查看全部
  • <?php try{ /* * 使用同一个值进行查询 使用PDOStatement对象bindValue()方法 */ $pdo = new PDO('mysql:host=localhost;dbname=querytest','root','123456'); $sql = 'INSERT INTO user (username,password,email) VALUES (?,?,?)'; $stm = $pdo->prepare($sql); /* * 例如:使用相同的邮箱注册两个用户,再下列代码中只bindValue帮顶一次邮箱的值,即可实现,第二次无需绑定邮箱的值。 * 明明参数方法同下只是占位符区别于问号占位符。 */ $username = 'key001'; $password = 'key001'; $stm->bindValue(1,$username); $stm->bindValue(2,$password); $stm->bindValue(3,'get@saifeng.com'); $stm->execute(); echo $stm->rowCount(); $username = 'key002'; $password = 'key002'; $stm->bindValue(1,$username); $stm->bindValue(2,$password); $stm->execute(); echo $stm->rowCount(); }catch(PDOException $e) { echo $e->getMessage(); }
    查看全部

举报

0/150
提交
取消
课程须知
1、掌握PHP的基础语法知识 2、掌握MySQL基本增删改查语句 3、对面向对象的基本概念有清晰的认识,熟悉PHP中类定义的基本语法
老师告诉你能学到什么?
1、掌握PDO的基本概念及安装和配置 2、掌握PDO处理数据的基本操作 3、理解PDO事务处理 4、掌握类的封装的方法

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!