这个问题在这里已有答案:
我正在尝试使用来自几个不同表格的信息填充谷歌地图。
$con = new PDO("mysql:host={$host};dbname={$db};charset={$charset}", $user, $pass);
$new_qry = "SELECT * FROM Contractors WHERE `Name` = 'John';";
$new_qry.= "SELECT * FROM Interns WHERE `Name` = 'Mike'";
$stmt = $con->prepare( $new_qry );
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
extract($row);
$new_lat = $row['Latitude'];
$new_long = $row['Longitude'];
.
.
.etc
我保存所需的信息并为每个结果制作地图标记。但我没有得到第二个查询的结果。还有其他方法可以运行多个查询吗?我最终希望一次运行2次以上。
配置:
从评论中,我怀疑您可以选择两个表共有的列列表,并使用UNION ALL
在单个查询中获取所有信息:
SELECT Latitude, Longitude, ...
FROM Contractors
WHERE `Name` = 'John'
UNION ALL
SELECT Latitude, Longitude, ...
FROM Interns
WHERE `Name` = 'Mike'
请记住,两个联合查询必须返回相同的列列表,具有相同的数据类型(除非MySQL对此松懈)。 SQL中的一般要求是查询必须返回一组固定的列,每列中具有一致的数据类型。