mysqli多查询特性 实现多条sql语句查询_Mysql

mysqli相对于mysql有很多优势,建议大家使用,如果没有了解,可以查看mysql的基础教程:

mysqli连接数据库 和 mysqli预处理prepare使用 。不仅如此,mysqli更是支持多查询特性,看下面这段php代码:

复制代码 代码如下:

<?php
$mysqli = new mysqli("localhost","root","","new");
$mysqli->query("set names 'utf8");
//多条sql语句
$sql = "select id,name from `user`;";
$sql .= "select id,mail from `user`";
echo $sql;
if ($mysqli->multi_query($sql)){//multi_query()执行一条或多条sql语句
do{
if ($rs = $mysqli->store_result()){//store_result()方法获取第一条sql语句查询结果
while ($row=$rs->fetch_row()){
var_dump($row);
echo "<br>";
}
$rs->Close(); //关闭结果集
if ($mysqli->more_results()){ //判断是否还有更多结果集
echo "<hr>";
}
}
}while($mysqli->next_result());//next_result()方法获取下一结果集,返回bool值
}
$mysqli->close(); //关闭数据库连接
?>

关于其中用到的一些方法,我已经注释的很清楚,特别要注意的是multi_query()执行多条语句时,语句之间是用 ; 隔开的,否则会出现错误

时间: 2024-09-10 23:04:07

mysqli多查询特性 实现多条sql语句查询_Mysql的相关文章

oracle-Oracle中如何只用一条sql语句查询下面的例子

问题描述 Oracle中如何只用一条sql语句查询下面的例子 解决方案 select_statement UNION [ALL] selectstatement [UNION [ALL] selectstatement][-n]其中selectstatement为待联合的SELECT查询语句.用联合查询足以 解决方案二: 这个只能在后台代码判断并组装语句,然后联表查询 解决方案三: Oracle SQL语句查询例子用一条SQL语句查询分组前三名数据常用的sql语句查询例子

请帮忙写一条SQL语句查询前一小时信息

问题描述 请帮忙写一条SQL语句查询前一小时信息 MSSQLServer,有个字段DateTime:2015-03-09 16:08:51.617 我想查询前一小时的信息,因为我公司是45分下班的,所以前一小时应该是14:45:00~14:45:00. 请问如何写一条语句可以查到当前小时的前一小时的信息呢?谢谢帮忙. 解决方案 select * from table where DATEDIFF('h',DateTime,now())>1 and DATEDIFF('h',DateTime,no

查询修改的一条sql语句

问题描述 是这样子的 区县表 数据有:县ID.城市ID.城市名称. 数据有固定的数据用户表有:户名.密码.县id.城市id. 数据有无数条数据现在的情况是用户表里的城市id数据不对.用户表里的县id等于区县表里的县id ,现在只要把用户表里城市id改成区县表里的的城市id就可以.能用sql语句搞定吗? 解决方案 没法用一条sql语句搞定,你县城id与城市id的关系是啥?一对一,一对多,多对一?试试存储过程吧.

一条SQL语句查询块分解及查询转换

原始语句如下: select BIZ_NO,        OUT_BIZ_NO,        ORDER_NO,        USER_ID,        user_name,        CARD_NO,        ACCOUNT_NO,        ACCOUNT_BIZ_NO,        USER_TYPE,        EVENT,        GID,        TRADE_AMOUNT,        DATA_BIZ_TYPE,        DIREC

使用一条sql语句实现多表查询

问题描述 使用一条sql语句实现多表查询 假设有这样3张表: 学生表S (id,Tid,name,sex,age) 教师表T (id,Sid,name,sex,age) 成绩表R (id(学生的id),result(成绩)) 怎样使用一条sql查询成绩大于90的男学生的男性老师的姓名 解决方案 select * from R inner join S on R.id=S.Sid inner join T on xxxxxx where result>90 你学生和老师好像没有对应关系,所以第二个

sql查询-求帮忙优化我这条sql语句

问题描述 求帮忙优化我这条sql语句 首先说一下下面sql语句要用到的表的基本情况: 一.有三张表,一张叫equipment,一张叫sensor,一张叫sensorInputData 二.三表关系是equipment下有多个sensor,sensor下有多个sensorInputdata,所以sensor下有一个equipment的主键quipmentId做外键,sensorInputData下也有一个sensor的主键sensorId做外键,其他都是各自表的属性,应该能比较清晰的看出来 下面是

求一条sql语句,单表查询的

问题描述 求一条sql语句,单表查询的 表结构 (姓名,课程,成绩) 现在求获的该表总成绩最高学员的名字 解决方案 mysql 数据库select sum(成绩) as t from table group by 姓名 order by t limit 0,1 oracle数据库 select * from (select sum(成绩) as t from table group by 姓名 order by t) WHERE ROWNUM<=1 sqlserver数据库 select top

如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写?

问题描述 如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写? 将查询的的返回值为整型 参考用例 类似 以下方法查询政治类新闻人数 新手不知道该如何改动成自己需要的方法 public Map<String, Long> sumPolEntNews(){ //查询政治类新闻人数总和 String sql = "select count(*) from t_user where newsh ='政治类新闻' "; Map<String, Long> m

web- Web 网站 首页 关于SQL 语句查询前几条的问题

问题描述 Web 网站 首页 关于SQL 语句查询前几条的问题 dao biz action 怎么写... 原理是什么 解决方案 不是很懂你问题的意思 1.dao biz action 怎么写? 你是问下每一层可以写什么东西? 2.原理是什么 你要问什么原理?