我在一个数据库中有两个表。
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)
但是我提示了错误
Unknown column 'a' in 'where clause'
问题是什么以及如何解决它?
最佳答案
您应该将 $title 用引号引起来,如下所示:
mysql_query("SELECT version FROM tableone WHERE ID='".$title."'")
如果您有用户提供的输入,您应该确保您的代码在所有情况下都是安全的。
这篇文章中有一些关于此的好信息:https://stackoverflow.com/questions/3714107/php-mysql-security-checklist-the-definitive-practical-guide
关于PHP-从同一行的主键获取第二列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12867366/