php - 在 PHP 中执行多个查询
问题描述
我正在尝试加入我在查询中创建的两个视图。
该查询在 MySQL 中运行良好,但是当我使用 PHP 执行它时,它看起来并没有真正执行,因为我无法可视化数据库中的两个视图。
我正在执行的查询如下:
$query1 = "CREATE OR REPLACE VIEW new_tbl AS SELECT
AnagTav.Id,
AnagTav.Riga,
AnagTav.Colonna,
AnagTav.Costo,
AnagTav.Nome,
AnagTav.NumeroPersone,
PrenPic.Data AS Occupato,
PrenPic.IdUtente
FROM `AnagraficaTavoli` AS AnagTav
LEFT JOIN PrenotazioniPicNic AS PrenPic ON PrenPic.IdTavolo = AnagTav.Id
WHERE (PrenPic.Data >= '".$dateFrom."' AND PrenPic.Data <= '".$dateTo."')
OR PrenPic.Data IS NULL
GROUP BY CASE
WHEN AnagTav.Nome != '' THEN AnagTav.Nome
ELSE AnagTav.Id
END
ORDER BY AnagTav.Riga ASC, AnagTav.Colonna;
CREATE OR REPLACE VIEW new_tbl2 AS SELECT
AnagraficaTavoli.*,
Occupato,
IdUtente
FROM AnagraficaTavoli
LEFT JOIN new_tbl ON (AnagraficaTavoli.Id = new_tbl.Id)
WHERE new_tbl.Id IS NULL;";
$result=$conn->query($query1);
创建 2 个视图后,我执行第二个查询:
if($result){
$query2 = "SELECT * FROM new_tbl
UNION
SELECT * FROM new_tbl2
ORDER BY Riga ASC, Colonna;";
$resultList=$conn->query($query2);
while($rowList=$resultList->fetch_assoc())
{
//I do stuff here
}
}
$conn
是我与数据库的连接吗
我尝试打印查询并在 MySQL 上执行它,但它工作正常。我不知道为什么会出现此错误,也不知道如何解决。
解决方案
这可能并不明显,但如果您保持脚本连接,您可以在单独的查询中访问临时表。您应该做的是将您的查询分成三个不同的操作,尤其是“选择”是一个单独的操作。查询中只有一个 select 语句,php 将能够正确获取结果集。
推荐阅读
- java - 了解 Gradle 项目中的流程
- debugging - 在 Visual Studio 2019 中调试时无法检查 Sap B1 SDK 对象
- c++ - 如何在 Windows API Mouse Hook 中使用 UIAutomation Element 了解元素信息
- javascript - 将 Gremlin-Javascript 输出转换为 JSON
- node.js - Puppeteer - 在 page.goBack() 之后 for 循环不会继续第二次迭代
- flutter - Flutter/Dart - 滑动动画的反向?
- html - 想要将从 post 请求收到的 XML 显示为 HTML
- jquery - RoR:link_to 块中的 link_to 标签?
- visual-studio - 如何使用 asp:MenuItem NavigateUrl 属性在同一解决方案中调用 BlazorServer 应用程序?
- javascript - Clean webpack 插件在保存 sass 文件时清除字体和图像并且它们不会被重建