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

标签 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 循环中,我已将标题值预定义为

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

相关文章:

php - 使用 PHP 将多行插入 mysql 数据库

php - 带有 CodeIgniter 的 REST API

php - 对于每个 SQL 结果,另一个 SQL 查询?在 PHP 中

php - jquery - JSON 对象,格式为 <optgroup >,由 AJAX 从 PHP 和 MySQL 返回,在 Select2 中不起作用

php - LARAVEL 查询 ids 数组中的 ids 字符串

android - 从 Android 应用调试 SQLite 数据库

php - if ( $a == $b || $a == $c ) 语句的速记表达式

mysql - 关于vb.net使用mysql连接

sql - 分区内的排序方式

php - 使用 1 个共享用户连接多个 MySQL 数据库