PHP-从同一行的主键获取第二列值

PHP-从同一行的主键获取第二列值,php,mysql,database,select,Php,Mysql,Database,Select,我在一个数据库中有两个表 id | title --------- // table name is tableone 1 | a 2 | b 3 | c 4 | d 5 | a 6 | b 7 | c 8 | d 对于第一个表,主键是ID列。从这个表中,我使用PHP创建了一个工作正常的HTML表 第二张桌子 id | version --------- a | 1 b | 3 c | 6 d | 7 在第一个表的while

我在一个数据库中有两个表

id | title
---------           // table name is tableone
1  |  a
2  |  b
3  |  c
4  |  d
5  |  a
6  |  b
7  |  c
8  |  d
对于第一个表,主键是ID列。从这个表中,我使用PHP创建了一个工作正常的HTML表

第二张桌子

id | version
---------
a  |  1
b  |  3
c  |  6
d  |  7
在第一个表的while循环中,我将标题值预定义为

$title = $id['title'];
在while循环中,我正在使用另一个while循环,但这次我尝试使用预定义的标题访问第二个表上匹配id的对应版本行值,使用:

mysql_query("SELECT version FROM tableone WHERE ID=".$title)
然而,我被暗示有错误

where子句中的未知列“a”


问题是什么?我如何解决它?

您必须将$title括在如下引号中:

mysql_query("SELECT version FROM tableone WHERE ID='".$title."'")
如果您有用户提供的输入,您应该确保您的代码在所有情况下都是安全的


在这篇文章中有一些很好的信息:

与其在循环中进行单独的查询,不如使用连接通过一个查询获得所有信息:

SELECT t1.id AS id, title, version
FROM tableone t1
JOIN tabletwo t2 ON t1.title = t2.id

欢迎来到堆栈溢出!如果可以避免,请不要使用
mysql.*
函数,它们不再被维护,社区已经开始运行。相反,你应该学习并使用或。如果你不能决定,将帮助你做出选择。如果你想学习,@YusafKhaliq,这个答案中链接的清单现在已经过时了,用这个代替吧,我会重复我的评论,因为你在回答中没有提到。如果可以避免,请不要使用
mysql.*
函数,它们不再被维护,社区已经开始运行。相反,你应该学习并使用或。如果你不能决定,将帮助你做出选择。如果你想学习,.Hey@vascowhite如果你读过我的简介,我对php和mysql不熟悉,这只是我自学的练习,我不完全理解网络术语,但是从我读到的和你评论的内容来看,你是说我应该学习PDO还是MysQLi,你个人推荐学习哪一种?@YusafKhaliq我还没看过你的个人资料。我肯定会推荐学习PDO,请按照我评论中的链接阅读一篇易于阅读的教程。mysql函数很快就会消失,所以学习它们是浪费时间。你会很高兴你在PDO上付出了努力。祝你好运。还有一个使用MySQLi的Qs我还能在cpanel上使用旧的mysql数据库吗?