我目前有一个家谱数据库。我通过执行以下操作获取要显示的数据:
$sql = "SELECT * FROM persons WHERE ref='$personID'";
这很好用。但是,我最近添加了另一个名为 census_data
的表。我试图在查询人员表的同时查询此表,但没有成功。我试过这样做:
$sql = "SELECT * FROM persons, census_data
WHERE persons.$personID = census_data.$personID ";
我得到的错误是:
Unknown column 'persons.405' in 'where clause'.
我远不能胜任数据库,但这个错误似乎是在谈论列,而它是我正在寻找的行。显然我搞砸了。
我该怎么做?
最佳答案
需要加入 persons 和 census_data 并通过 personID 限制数据:
$sql = "SELECT * FROM persons, census_data
WHERE persons.ref = '$personID' AND persons.ref = census_data.person_id_column_name";
查询的方式是查找等于您的 personId 的列名(在您的示例中为 405),而不是查找 personId 为 405 的列。
关于php - 使用 php 变量的查询语法以从两个 MySQL 表中进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32699143/