php - 使用 php 变量的查询语法以从两个 MySQL 表中进行选择

标签 php mysql

我目前有一个家谱数据库。我通过执行以下操作获取要显示的数据:

$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/

相关文章:

php - Sql从字符串中选择数据选择id

php - 为什么我不应该在 PHP 中使用 mysql_* 函数?

MySQL计算零的总数

php - 如何使用 PHP 和 ajax 从 MySQL 加载标记?

javascript - 更改谷歌地图中的javascript不会更新它?

mysql - 在 MySQL Workbench 中删除 MySQL LocalHost 服务器

Android - sqlite in 子句使用数组中的字符串值?

php - 在 Zend Framework 中转义字段名称中的点

php - Nginx位置 block 访问列表和 'X-Forwarded-For'

php - Cakephp 3 的虚拟字段