如何在 PHP 和 MySQL 中一次从 2 个表中获取信息


How to get information from 2 tables at once in PHP and MySQL?

<?php 
include('includes/config.php');
$topi = $_GET['id']; //id of url
mysql_select_db("ban", $con);
$query = "SELECT * FROM `basic` WHERE id = '$topi' LIMIT 0, 30"; 
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
$aa = $row['item'];
$cc = $row['moreinfo'];
$dd = $row['contactinfo'];
$ff = $row['id'];

在此脚本中,我从表basic获取信息,但我想从另一个名为 users 的表中检索数据。如何一次从两个表中检索数据?

users表由以下列组成:

  • 电子邮件
  • 用户名
  • 身份证
您需要在一个

公共值(称为外键)上JOIN这两个表。 一旦您按照评论中的要求发布了users表的结构,我就可以提供一个更完整的示例。

编辑:请参阅示例。 这将调用显式列名而不是 SELECT *

$query = "SELECT 
    basic.id,
    basic.item,
    basic.moreinfo,
    basic.contactinfo,
    users.email,
    users.username
  FROM basic JOIN users ON basic.id = users.id
  WHERE id   = '$topi'
  LIMIT 0 , 30"; 

您将在另一个表上使用 JOIN。

$query = "SELECT *
FROM basic b
JOIN users u ON b.user_id = u.user_id
WHERE id = '$topi'
LIMIT 0, 30";

类似的东西,但基于你的领域。

请注意:ON 子句指定了您要查找匹配项的内容。