一 、 PDO的连接

  $host = "localhost";
$dbname = "hejuntest";
$username = "root";
$pwd = "";
$dsn = "mysql:host=$host;dbname=$dbname";
$opt = array(PDO::ATTR_PERSISTENT => TRUE); //持久链接
try{
$pdo = new PDO($dsn , $username , $pwd , $opt);
}catch(PDOException $e){
echo 'connect error~ ' . $e->get_Message();
}

二 、PDO的增、删、改

    $sql = "update student set name='xiaoran' where id in(1,2) ";
$affted_rows = $pdo->exec($sql); //返回受影响的行数

三、 PDO的查

  • 使用fetch()
    $sql = "select * from student";
$pdostatement = $pdo->query($sql);
echo '<table>';
while(list($id , $name , $age , $class) = $pdostatement->fetch(PDO::FETCH_NUM)){
echo '<tr>';
echo '<td>' . $id .'</td>';
echo '<td>' . $name .'</td>';
echo '<td>' . $age .'</td>';
echo '<td>' . $class .'</td>';
echo '</tr>';
}
echo '</table>';
  • 使用fetchAll()
    $sql = "select * from student";
$pdostatement = $pdo->query($sql);
$data = $pdostatement->fetchAll(PDO::FETCH_ASSOC);
echo '<table>';
foreach($data as $k => $v){
echo '<tr>';
echo '<td>' . $v['id'] .'</td>';
echo '<td>' . $v['name'] .'</td>';
echo '<td>' . $v['age'] .'</td>';
echo '<td>' . $v['class'] .'</td>';
echo '</tr>';
}
echo '</table>';

四、 PDO的预处理(支持采用预处理方式)

  • 指定名字绑定变量
    $sql = "insert into student (name,age,class) values (:name,:age,:class)";
$pdostatement = $pdo->prepare($sql); $pdostatement->bindParam(":name" , $name);
$pdostatement->bindParam(":age" , $age);
$pdostatement->bindParam(":class" , $class);
$name = "hejun";
$age = 25;
$class = 15;
$pdostatement->execute(); $name = "daxi";
$age = 26;
$class = 16;
$pdostatement->execute();
  • ? 符号绑定变量
   $sql = "insert into student(name,age,class) values(?,?,?)";
$pdostatement = $pdo->prepare($sql); $pdostatement->bindParam(1 , $name);
$pdostatement->bindParam(2 , $age);
$pdostatement->bindParam(3 , $class); $name = "hejun";
$age = 25;
$class = 15;
$pdostatement->execute(); $name = "daxi";
$age = 26;
$class = 16;
$pdostatement->execute();
  • 省去绑定变量方法
    $sql = "insert into student(name,age,class) values(?,?,?)";
$pdostatement = $pdo->prepare($sql);
$pdostatement->execute(array("daxixi",20,11)); echo $pdo->lastInsertId(); //如果有主键,得到最后一条插入的主键值 echo '<br>' . $pdostatement->rowCount();//得到影响行数

最新文章

  1. 微信支付开发(7) 收货地址共享接口V2
  2. 【AT91SAM3S】SAM3S-EK Demo工程中,LCD驱动程序的加载(函数指针结构体)
  3. 【转】Python中的GIL、多进程和多线程
  4. iOS视图控制对象生命周期
  5. SqlSever基础 datediff 计算人的生日是不准确的,示例
  6. UISegmentControl 、UIStepper
  7. BZOJ3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛
  8. 在Window和Linux下使用Zthread库
  9. Chapter 2 Open Book——34
  10. ligerUI实现分页
  11. windows系统局域网内开启远程桌面图解
  12. 用JAVA中BufferedImage画出漂亮的验证码点击变化
  13. 转:Natas Wargame Level28 Writeup(EBC加密破解)
  14. CentsOS7无网情况下安装mysql5.7
  15. HDU - 1241 dfs or bfs [kuangbin带你飞]专题一
  16. 关于react router 4 的小实践
  17. C#WebApi 接口参数不再困惑:传参详解
  18. 【BUAA-OO】第二单元作业总结
  19. 细说MySQL数据库操作
  20. bzoj 4358 Permu - 莫队算法 - 链表

热门文章

  1. proc文件系统详解(原创)
  2. C#中Monitor对象与Lock关键字的区别分析
  3. 一个简单的Python多线程
  4. Cygwin windows10上安装出现系列问题及解决方法
  5. android 标签页&lt;include /&gt; 的使用
  6. Eclipse 控制台不显示打印信息的处理方法
  7. 关于CountDownLatch控制线程的执行顺序
  8. 【bzoj1602】[Usaco2008 Oct]牧场行走
  9. Java EE的十三个规范
  10. FacadePattern(23种设计模式之一)