php - 如何从连接表中返回数据

标签 php mysql

这背后的目的是让我能够从通过其他两个表的 INNER JOIN 形成的表中提取数据。

我已成功将关税名称映射到用户名。但我想要做的是能够从这个通过 INNER JOIN 在 android studio 的文本字段中创建的新表返回数据。

目前我主要关心的是找出能够返回数据的正确查询。我试过研究这个但没有运气/ 我有 2 个数据库。 useraccount 数据库和tariff 数据库。

useraccount 数据库由以下列组成:

身份证 姓名

电子邮件地址
zip
城市
电话号码
用户名
密码
确认密码 关税

我的 Tariff 数据库由以下列组成:

身份证 姓名

我使用 INNER JOIN 连接了两个表,并将用户名列与关税名称列链接起来,基本上,我最终得到了这样一个表:

用户名|费率

代码如下:

$query = "SELECT useraccount.Username, tariff.Name as tariffs
FROM useraccount
INNER JOIN tariff ON useraccount.tariffs = tariff.id";  

    $result = mysqli_query($conn,$query);
    if($result->num_rows){
        while($row = $result ->fetch_object()){
            echo "{$row->Username} ({$row->tariffs}) <br>";
        }
    }else{
        echo "No results";

    }


    $query2 = "SELECT";
    $result2 = mysqli_query($conn,$query2);

问题:

如何访问结果集的列?

This image shows the result of the execution of the PHP file

最佳答案

将两个表连接在一起并不会创建第三个表,而是根据两个表的合并记录创建一个结果集。在您的代码示例中,您已经可以访问用户帐户和关税表中包含的所有数据。要访问此数据,只需修改您的选择语句,使其引用所需的列。您也可以只使用“*”通配符来包含结果集中的所有列。

 // Using a wildcard to get all useraccount data. 
$query = "SELECT useraccount.*, tariff.Name as tariffs
FROM useraccount
INNER JOIN tariff ON useraccount.tariffs = tariff.id"; 

$result = mysqli_query($conn,$query);
if($result->num_rows){
    while($row = $result ->fetch_object()){      
        // Reference any user data you want.
        echo "{$row->Username} {$row->EmailAddress} {$row->PostCode} ({$row->tariffs}) <br>";
    }
}

关于php - 如何从连接表中返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40385045/

相关文章:

php - 如何从服务器获取多个数据

mysql - SQL 查询中的 RAND() 是如何工作的

MySQL 在单个查询中使用不同的 where 进行多重选择

mysql - 在 mysql 中定义分隔符

MySql 分区表 - 使用 PK 在日期范围之间进行选择与 date IN (...) 子句相比非常慢

mysql - 如何在MySQL中同时使用WHERE和GROUP BY?

php - 拉维尔 |编辑页面上的复选框状态

php - 从 Excel 电子表格导入高级表单字段

php - 试图编辑一个 php 文件以将其内容放在一个 div 中

php - 如何像搜索框一样跳转到 PHP 页面的某个部分?