本文作者:心月

PDO中从select查询 获取信息数据的方法

心月IT博客 2019-03-29
PDO中从select查询 获取信息数据的方法摘要:很多时候执行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();
}

columnCount():获取结果集中的列数


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();
}

fetchColumn()  从结果集中的下一行返回单独的一列

数据表数据:

数据表数据


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();
}

debugDumpParams()调试方法,打印一条SQL预处理命令

文章版权及转载声明:

本文由 心月IT技术博客 博主整理于 2019-03-29
若转载请注明原文及出处:https://www.xinyueseo.com/other/219.html

分享到:
赞(
发表评论
快捷输入:

验证码

    评论列表 (有 0 条评论,人围观)参与讨论