一、PDO对象 1.调整PDO行为 2.设置错误处理模式 3.使用POD执行SQL语句 <?php //写一个data.txt 文件,每一行都是一个user数据,如何遍历它并把数据插入到数据库中 try { $dsn = "mysql:host=localhost; dbname=jkxy"; $name = "root"; // 数据库的登录用户名 $pwd = ""; // 数据库的登录密码 $pdo = new PDO ( $dsn, $name, $pwd ); // PDO::ATTR_ERRMODE = 3, PDO::ERRMODE_EXCEPTION = 2 都是访问常量 // $pdo -> setAttribute(PDO::ATTR_ERRMODE); 设置PDO的行为属性 // echo $pdo -> getAttribute(PDO::ATTR_ERRMODE); 得到PDO行为属性的值 $pdo -> setAttribute ( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );// 设置错误处理模式, 设置错误模为异常处理模式 $pdo -> setAttribute ( PDO::ATTR_AUTOCOMMIT, 0 ); //设置自动提交???这个有点不懂,0为关闭,1位开启 $pdo -> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); //设置字符集返回的数组类型,可以不设置,因为可以在提取结果集的时候再设置它 var_dump ( $pdo ); /* * 这是插入数据的代码 $username = "user88"; $pwd = md5(123456); $email = "[email protected]"; $sql = "INSERT INTO user(username,pwd,email) VALUE(‘{$username}‘, ‘{$pwd}‘, ‘{$email}‘)"; $affected = $pdo -> exec($sql); //返回影响的行数 //什么是影响行数的,什么是有结果集的 $pdo -> exec(); //执行有影响行数的语句,增删改是有影响行数的,返回影响的行数 $pdo -> query(); //执行有结果集的语句,查询就是有结果的,返回一个object(PDOStatement)对象,所有的查询数据都存在这个对象里面 */ $sql = "SELECT * FROM user WHERE id < 5"; $stmt = $pdo -> query($sql); //返回object(PDOStatement) foreach($stmt as $v){ //用foreach()来遍历对象内容为数组,每次遍历一行数据,一行数据就是一个数组 echo "{$v[‘id‘]} - {$v[‘username‘]}"; } } catch ( PDOException $e ) { echo $e -> getMessage (); echo "<hr>"; echo $e -> getFile (); echo "<hr>"; echo $e -> getLine (); echo "<hr>"; echo $e -> getCode (); }
时间: 2024-10-05 19:18:32