php - 使用 mysql_fetch_assoc 中的变量从多行中的列输出数据。?

标签 php mysql

如果我有这样的查询

$query = mysql_query("
SELECT * FROM tbl_school
INNER JOIN tbl_livingexp ON (tbl_school.schoolname=tbl_livingexp.schoolname)
INNER JOIN tbl_tuition ON (tbl_school.schoolname=tbl_tuition.schoolname)
INNER JOIN tbl_apprequirments ON 
(tbl_school.schoolname=tbl_apprequirments.schoolname) 
where tbl_school.schoolname = '$schoolname'");

其中 3 个表包含名为 language 的列。
当我开始编写这段代码时。

while($row = mysql_fetch_assoc($query)) {
//output.

如果我像这样输入,如何仅从表 tbl_school 输出列语言?

$row['language'];  ?

我尝试了 $row['tbl_school.language'];但这给了我一个错误。

最佳答案

您必须明确命名它们:

SELECT a.foo first_col, b.foo second_col, c.foo third_col
FROM a, b, c
WHERE [conditions]

如果您使用以下方式获取数据

$row = mysql_fetch_assoc($query);

您现在可以使用 $row["first_col"]、$row["second_col"] 和 $row["third_col"] 访问列。这是由 mysql 客户端库的工作方式决定的。表名不会添加到列名前面。这意味着每个列名称必须是唯一的才能出现在结果中。

关于php - 使用 mysql_fetch_assoc 中的变量从多行中的列输出数据。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/904669/

相关文章:

php - 在 SQL WHERE 语句中使用 session 变量

mysql - 如果列中的相同值不止一次,则选择一次列

php - 在 php 中检索 SQL 日期时间和 POST

php - 如何在 WordPress 中获取帖子作者姓名?

php - 无法使用 phpmailer 在邮件中发送 token 和电子邮件值,因为忘记了密码

mysql - 选择有限行的重复列

mysql - 在 AWS RDS MySQL 实例 r4 和 m5 之间进行选择

php - 如何防止站点遭受 SQL 注入(inject)

php - Codeigniter MySQL 连接复杂

php - 当通过 PHP 使用简单的 MySQL 语句时,以 SELF 为目标还是以外部脚本为目标更好?