如果我有这样的查询
$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/