1 | $pdo = new PDO('mysql:dbname=php','root','root'); |
//2.准备查询语句
1 | $sql = "SELECT name,email FROM user WHERE user_id < :user_id"; |
//3.创建预处理对象
1 | $stmt = $pdo->prepare($sql); |
//4.参数绑定并执行
1 | $user_id = 5; |
bindParam(),第二个参数必须是变量,不能是字面量
1 | $stmt->bindParam(':user_id',$user_id,PDO::PARAM_INT); |
bindValue()第二个参数必须是字面量,不能是变量
1 | $stmt->bindValue(':user_id', 6, PDO::PARAM_INT); |
变量参数还可以做为execute()的参数传递
1 | $stmt->execute(['user_id'=>5]); |
//5.结果集的处理
1 2 3 4 5 6 7 8 9 | $stmt->setFetchMode(PDO::FETCH_ASSOC); $row = $stmt->fetch(); $row = $stmt->fetch(PDO::FETCH_ASSOC); var_export($row); //字符串方式输出 echo '<br>'; fetch()会将记录指针自动下移 $row = $stmt->fetch(PDO::FETCH_ASSOC); var_export($row); //字符串方式输出 echo '<hr>'; |
用循环来实现
1 2 3 4 | while($row=$stmt->fetch(PDO::FETCH_ASSOC)) { var_export($row); //字符串方式输出 echo '<br>'; } |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |