Correction status:qualified
Teacher's comments:
<?php $dsn = 'mysql:host=localhost;dbname=staff';// 数据源:数据库类型:主机名称;数据库名称 // 数据库主机默认localhost/127.0.0.1,可省略 $user = 'root';// 用户名 $password = 'root';// 密码 try { $pdo = new PDO($dsn, $user, $password);//1.创建pdo对象,连接数据库 } catch (PDOException $e) { exit('Connection failed:' . $e->getMessage()); } $sql = "SELECT * FROM `user` WHERE `id` > :id";//2.SQL语句模板,查询条件的值用占位符表示 $stmt = $pdo->prepare($sql);//2.创建预处理对象 echo $stmt->queryString;// 查看生成的sql语句模板字符串 //参数绑定 //$id = 1; //$stmt->bindValue('id',$id,PDO::PARAM_INT);//3.绑定一个变量的值,适合单次查询,支持常量,变量,字面量。必须先定义。 $stmt->bindParam('id',$id,PDO::PARAM_INT);//3.绑定一个变量的引用。 $id = 4; // PDO::PARAM_INT 是预定义PDO常量,设置参数数据类型为整型,否则默认为字符串类型 $stmt->execute();//4.执行准备好的查询 //$result = $stmt->fetch(PDO::FETCH_ASSOC);//5.关联数组形式,返回一条记录 //$result = $stmt->fetchAll(PDO::FETCH_ASSOC);//5.关联数组形式,返回全部记录 while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {//5.关联数组形式,逐条返回记录 echo '<pre>', print_r($result,true); //6.不转义,原型输出 } //====================================================== $sql = "SELECT `id`,`name`,`tel` FROM `user` WHERE `id` BETWEEN :start AND :stop"; $stmt = $pdo->prepare($sql); $stmt->execute(['start'=>2, 'stop'=>5]);// //bindColumn()将结果集中的列绑定到指定变量上 $stmt->bindColumn('id', $id, PDO::PARAM_INT); $stmt->bindColumn('name', $name, PDO::PARAM_STR, 15); $stmt->bindColumn('tel', $tel, PDO::PARAM_STR, 20); // PDO::FETCH_BOUND: 指定获取方式,将结果集的列绑定到指定变量(可选) while ($stmt->fetch(PDO::FETCH_BOUND)) { echo 'id=' . $id . ', name=' . $name . ', tel='. $tel . '<hr>'; } $pdo = null;//7.关闭连接,可省略
点击 "运行实例" 按钮查看在线实例