php - 如何使用 PDO/php 从具有相同 ID 的第二个表中提取数据?

标签 php join

描述

我使用下面的脚本来显示我的 floradstable 中的所有行。我有第二个表 florinvtable 具有相同的列。 floradstable 中的价格列 = 0.00,而 florinvtable 中的价格列包含实际价格。

$result = $pdo->prepare(
"SELECT floradstable.Brand, florinvtable.Price
FROM   floradstable INNER JOIN florinvtable
ON     floradstable.Barcode=florinvtable.Barcode
ORDER BY Brand");

$result->execute();

while ($row = $result->fetch(PDO::FETCH_ASSOC))
{
echo $row['Brand']." ";
echo $row['florinvtable.Price']." ";
echo "<a href='submit-ads-florida.php?deleteid=".$row['Barcode']."'>DELETE</a><br>";
}

目标

我想使用两个表共享的唯一 ID(条形码)从 florinvtable 回显价格。

问题

florinvtable.Price 没有回应,这让我相信它是来自 floradstable verses florinvtable 的回应。

注意

当前脚本按原样运行,没有错误,但不会从 florinvtable 中提取价格

最佳答案

使用您定义的选择:

$result = $pdo->prepare(
"SELECT floradstable.Brand, florinvtable.Price
FROM   floradstable INNER JOIN florinvtable
ON     floradstable.Barcode=florinvtable.Barcode
ORDER BY Brand");

结果集中的列名为 BrandPrice。表引用是为了获取正确的,而不是名称的一部分。

尝试

echo $row['Price']." ";

编辑:我看到您还使用了 $row['Barcode'],它不会被该查询定义!你需要

$result = $pdo->prepare(
"SELECT floradstable.Brand, florinvtable.Price, floradstable.Barcode
FROM   floradstable INNER JOIN florinvtable
ON     floradstable.Barcode=florinvtable.Barcode
ORDER BY Brand");

关于php - 如何使用 PDO/php 从具有相同 ID 的第二个表中提取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811199/

相关文章:

php - 从 mysql inner join 显示值的最佳方法

asp.net-mvc - MVC LINQ to SQL 表连接记录显示

php - mysql | mysql |来自空列和 FIND_IN_SET 的请求

php - PostgreSQL 多条件语句

php - 在每个 div 选项卡中显示一个随机测试问题

mysql - 如何通过计算IN和OUT之差来计算物理量

php - 有没有一种简单的方法(在 PhpStorm 中)将 PHP 代码片段包装在 PHPDoc 中?

php - 查询失败 : connection to localhost:3306 failed in sphinx

php - MySQL Join 返回超过预期

MySQL 按行数排序