本文共 1768 字,大约阅读时间需要 5 分钟。
摘要:很多时候执行select查询语句不仅仅是为了获取数据库几条数据信息或者几个字段信息,有时只需要某列信息,但又必须查询多个字段。那PDO扩展中有哪些可以获取数据信息的方法呢?它们分别可以获取什么信息?
很多时候执行select查询语句不仅仅是为了获取数据库几条数据信息或者几个字段信息,有时只需要某列信息,但又必须查询多个字段。那PDO扩展中有哪些可以获取数据信息的方法呢?它们分别可以获取什么信息?
1、columnCount():获取结果集中的列数<?php
header('content-type:text/html;charset=utf-8');
try{
$pdo=new PDO('mysql:host=localhost;dbname=test','root','root');
$sql="select * from test_pdo where id<20";
$stmt=$pdo->prepare($sql);
$stmt->execute();
echo $stmt->columnCount();
}catch(PDOException $e){
echo $e->getMessage();
}
2、fetchColumn()从结果集中的下一行返回单独的一列
从结果集中的下一行返回单独的一列,以0开始的索引(索引不能超过列数减1),也就是说fetchColumn()返回的值只有一个,而且,索引值不同,返回的值所对应的列也不一样<?php
header('content-type:text/html;charset=utf-8');
try{
$pdo=new PDO('mysql:host=localhost;dbname=test','root','root');
$sql="select * from test_pdo where id<20 order by id asc";
$stmt=$pdo->prepare($sql);
$stmt->execute();
var_dump($stmt->fetchColumn(0));
var_dump($stmt->fetchColumn(1));
var_dump($stmt->fetchColumn(2));
var_dump($stmt->fetchColumn(3));
}catch(PDOException $e){
echo $e->getMessage();
}
数据表数据:
3、debugDumpParams()打印一条 SQL 预处理命令
debugDumpParams()打印一条 SQL 预处理命令
直接打印出一条预处理语句包含的信息。提供正在使用的 SQL 查询、所用参数(Params)的数目、参数的清单、参数名、用一个整数表示的参数类型(paramtype)、键名或位置、值、以及在查询中的位置(如果当前 POD 驱动不支持,则为-1)。
此为一个用于调试的功能,在正常输出的情况下直接输出数据。<?php
header('content-type:text/html;charset=utf-8');
try{
$pdo=new PDO('mysql:host=localhost;dbname=test','root','root');
$sql="INSERT test_pdo(username,password,email) VALUES(?,?,?)";
$stmt=$pdo->prepare($sql);
$stmt->bindParam(1,$username,PDO::PARAM_STR);
$stmt->bindParam(2,$password,PDO::PARAM_STR);
$stmt->bindParam(3,$email);
$username='testuser111111';
$password='123456';
$email='testuser11@qq.com';
$stmt->execute();
$stmt->debugDumpParams();
}catch(PDOException $e){
echo $e->getMessage();
}
转载地址:http://mkima.baihongyu.com/