批改状态:合格
老师批语:对结果集的处理手段多种, 熟练掌握一种即可
PHP Data Object的简称;mysql、sql server、Oracle、DB2等;MYSQL和MSSQL函数库相比, PDO让跨数据库的使用更具有亲和力,与ADODB和MDB2相比,PDO更高效;
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=student;charset=utf8";$username = "root";$password = "password";
$pdo = new PDO($dns,$username,$password);
$sql = "insert into student values(null,"酒","男","18")";$record = $pdo->exec($sql); // exec() 不会返回结果集,返回整型;echo “插入了{$record}条记录";
// 以 PDOStatement 对象形式返回结果集
描述:执行select、show语句,并返回一个结果集对象(PDOStatement)
语法:public PDOStatement PDO::query(string $Statement)
$dsn = "mysql:host=localhost;port=3306;dbname=student;charser=urf8";$username = "root";$password = "root";$pdo=new pdo($dsn,$username,$password);// 查询数据并返回结果集$sql="select * from student order by id desc";$PDOStatement = $pdo->query($sql);// 遍历对象forach($PDOStatement as $row){print_r($row); // 由于是数组,所以用print_r打印输出查看;}
下面是我从数据库查询到的数据:
Array([id] => 19[0] => 19[name] => 张学友[1] => 张学友[sex] => 男[2] => 男[age] => 34[3] => 34[class] => 5班[4] => 5班)Array([id] => 18[0] => 18[name] => 酒淋后[1] => 酒淋后[sex] => 男[2] => 男[age] => 12[3] => 12[class] => 5班[4] => 5班)Array([id] => 16[0] => 16[name] => 法定[1] => 法定[sex] => 男[2] => 男[age] => 281[3] => 281[class] => 5班[4] => 5班)
描述:从结果集中获取一行,并将指针下移;
语法:mixed PDOStatement::fetch([int $fetch_tyle])
参数:
PDO::FETCH_ASSOC:返回一个索引为结果集的数组;
PDO::FETCH_BOTH:返回一个索引为结果集和以0开始的列号数组(该参数为默认参数,上面就是这个默认参数输出的数据);
PDO::FETCH_NUM:返回索引为以0开始的结果集列号的数组;
例:
$arr=$PDOStatement->fetch(PDO:FETCH_ASSOC);print_r($arr);
下面是我从数据库查询到的数据:
Array([id] => 19[name] => 张学友[sex] => 男[age] => 34[class] => 5班)
描述: 返回一个包含结果集中所有行的数组
语法:同fetch
$arrs=$PDOStatement->fetchAll(PDO::FETCH_ASSOC);print_r($arrs);
下面是我从数据库查询到的数据:
描述:从结果集中获取单独的列;
语法:string PDOStatement::fetchCloumn([int $cloumn_number = 0]);
参数:$cloumn_number是列的索引值,默认为 “ 0 ” ;
测试:
$recods = $PDOStatement->fetchColumn();echo "共有{$recods}条记录!";

如果我把参数改成1,所以这个fetchcolumn 还是没搞懂!
$recods = $PDOStatement->fetchColumn(1);echo "共有{$recods}条记录!";

$sql="select * from student order by id desc";$PDOStatement = $pdo->query($sql);$records = $PDOStatement->rowcount();echo "共有{$records}条记录!";

其他:

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号