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数据库吗?