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

如何在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进行同样的操作?


猛跑小猪
浏览 528回答 3
3回答

慕的地10843

正如其他人所回答的,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时,这是不可能发生的。
打开App,查看更多内容
随时随地看视频慕课网APP