Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:对结果集的处理手段多种, 熟练掌握一种即可
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}条记录!";
其他: