为了账号安全,请及时绑定邮箱和手机立即绑定

如何在PHP/MySQL中作为一个执行两个MySQL查询?

如何在PHP/MySQL中作为一个执行两个MySQL查询?

猛跑小猪 2019-07-09 15:27:50
如何在PHP/MySQL中作为一个执行两个MySQL查询?我有两个问题,如下:SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;SELECT FOUND_ROWS();我想一次执行这两个查询。$result = mysql_query($query);但是,请告诉我如何分别处理每个表。实际上,在ASP.NET中,我们使用DataSet作为ds.Tables[0];ds.Tables[1]; .. etc如何使用PHP/MySQL进行同样的操作?
查看完整描述

3 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

正如其他人所回答的,mysqliAPI可以使用msyqli_multiquery()函数执行多个查询。

就其价值而言,PDO默认支持多个查询,并且可以迭代多个查询的多个结果集:

$stmt = $dbh->prepare("
    select sql_calc_found_rows * from foo limit 1 ; 
    select found_rows()");$stmt->execute();do {
  while ($row = $stmt->fetch()) {
    print_r($row);
  }} while ($stmt->nextRowset());

然而,多查询被广泛认为是馊主意出于安全原因。如果您不小心如何构造查询字符串,则实际上可以获得SQL注入漏洞的确切类型,如经典的“小波比桌”XKCD卡通..当使用将您限制为单一查询的API时,这是不可能发生的。


查看完整回答
反对 回复 2019-07-09
  • 3 回答
  • 0 关注
  • 527 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信