
正文
php数据库结果集 php数据结构
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php pdo 怎么获取查询出来的结果集
php使用PDO抽象层获取查询结果php数据库结果集,主要有三种方式:
(1)PDO::query()查询。
看下面这段php代码:
?php //PDO::query()查询
$res = $db-query('select * from user');
$res-setFetchMode(PDO::FETCH_NUM); //数字索引方式
while ($row = $res-fetch()){
print_r($row);
}
?
(2)PDO-exec()处理sql
?php //PDO-exec()处理sql
$db-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$res = $db-exec("insert into user(id,name) values('','php点点通')");
echo $res;
?
(3)PDO::prepare()预处理执行查询
?php //PDO::prepare()预处理执行查询
$res = $db-prepare("select * from user");
$res-execute();
while ($row = $res-fetchAll()) {
print_r($row);
}
?
setAttribute() 方法是设置属性php数据库结果集,常用参数如下:
PDO::CASE_LOWER -- 强制列名是小写
PDO::CASE_NATURAL -- 列名按照原始php数据库结果集的方式
PDO::CASE_UPPER -- 强制列名为大写
setFetchMode方法来设置获取结果集的返回值的类型,常用参数如下:
PDO::FETCH_ASSOC -- 关联数组形式
PDO::FETCH_NUM -- 数字索引数组形式
PDO::FETCH_BOTH -- 两者数组形式都有,这是默认的
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的 mysql_fetch_object()
对上面总结如下:
查询操作主要是PDO::query()、PDO::exec()、PDO::prepare()。
PDO-query() — 处理一条SQL语句,并返回一个“PDOStatement”
PDO-exec() — 处理一条SQL语句,并返回所影响的条目数
PDO::prepare()主要是预处理操作,需要通过$rs-execute()来执行预处理里面的SQL语句
最后介绍两个常用的函数:
(1)fetchColumn()获取指定记录里一个字段结果,默认是第一个字段php数据库结果集!
?php
$res = $db-query('select * from user');
//获取指定记录里第二个字段结果
$col = $res-fetchColumn(1);
echo $col;
?
(2)fetchAll(),从一个结果集中获取数据,然后存放在关联数组中
?php
$res = $db-query('select * from user');
$res_arr =$res-fetchAll();
print_r($res_arr);
?
相关问答
Q1: 如何在php中用ODBC函数读取数据库里的一条结果集
以下是用odbc连接数据库php数据库结果集的例子php数据库结果集:
?php
$db_connection = new COM("ADODB.Connection");
$db_connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\DataDir\Employee.mdb;DefaultDir=C:\DataDir";
$db_connection-open($db_connstr);
$rs = $db_connection-execute("SELECT EmpNameLocal, EmpPosLocal FROM tbl_Employee WHERE ID='$IDNo'");
$rs_fld0 = $rs-Fields(0);
$rs_fld1 = $rs-Fields(1);
while (!$rs-EOF) {
$empNameLoc = $rs_fld0-value;
$empWPPos = $rs_fld1-value;
$rs-MoveNext();
}
$rs-Close();
$db_connection-Close();
?
Q2: php中mysqli处理查询结果集的几个方法
$sql="select * from user"; $result=$link-query($sql); $row=$result-fetch_all(MYSQLI_BOTH);//参数MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH规定产生数组类型
$n=0; while($nmysqli_num_rows($result)){ echo "ID:".$row[$n]["id"]."用户名:".$row[$n]["name"]."密码:".$row[$n]["password"]."br /"; $n++;
}
Q3: PHP循环数据库结果集问题
结果不同原因就是你while循环里面的那个data和data[]这里。data = $row的话结果只显示最后一次循环的结果,因为后面的会覆盖前面的。
data[]是往data数组里面追加数据,和前面的覆盖是不一样的
Q4: php怎么获取数据库查询返回的结果
从查询结果取值php数据库结果集,需要遍历结果集php数据库结果集!示例如下:
$rs = mysql_query("select * from www_liu where xx='$xx' and yy='$yy'");
echo "查询信息如下:br/";
while($row = mysql_fetch_array($rs))
{
echo $row['字段2'] . "=====" . $row['字段三'];
echo "br /";
}
//关闭数据库连接
//mysql_close();
Q5: 关于PHP的结果集显示问题
得到一条记录应该是 $i1=4 出了错!
程序执行下来到了while出错不能再执行,所以只能得到一条记录!
把$row_rs_p1 = mysql_fetch_assoc($rs_p1) 和 $i1=4 再分别加上括号试试:
($row_rs_p1 = mysql_fetch_assoc($rs_p1)) ($i1=4);
php数据库结果集的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php数据结构、php数据库结果集的信息别忘了在本站进行查找喔。







