php mysql 查询多个表

标签 php mysql

<分区>

我想知道是否可以从一个表中获取数据来搜索另一个表并输出该数据。示例获取玩家的 alliance_id 并搜索联盟挖掘 alliance_id 并获取联盟名称并输出名称

当前查询

$sql="SELECT * FROM players alliances WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);
 echo "<table>
   <tr>
 <th>id</th>
 <th>race_id</th>
 <th>alliance_id</th>
 <th>alliance_role_id</th>
 <th>name</th>
  <th>alliance_name</th>
 </tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";

echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['race_id'] . "</td>";
echo "<td>" . $row['alliance_id'] . "</td>";
echo "<td>" . $row['alliance_role_id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['alliance_name'] . "</td>";
echo "</tr>";

最佳答案

你正在寻找的是一个JOIN:

SELECT players.*, alliances.*
FROM players
LEFT JOIN alliances ON players.alliance_id = alliances.id
WHERE players.id = ?

MySQL 文档: http://dev.mysql.com/doc/refman/5.7/en/join.html

关于php mysql 查询多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34665584/

相关文章:

php - Laravel 4 队列 :listen times out

php - SQL LEFT JOIN 不使用主键的查询太慢,如何加快速度?

ios - 无法将类型 'NSNull' 的值转换为 'NSNumber'

php - 是否有任何值/参数我可以在 select 中传递 php 查询,以便不考虑该特定字段

php - MySQL WHERE IN (SELECT id from ...) 最快的方法?

php - Doctrine查询 "where notIn"子查询问题

mysql - 如何在外键范围内定义唯一约束

mysql - 选择列中字符串的一部分

php - 如何在php中通过metakeywords显示相关项目

Mysql自动插入减法后的值