我不断收到此错误错误:“on 子句”中的未知列“joinedactivities.searchact id = searchact.id”。我检查了表名并尝试更改它,但我一直收到错误。
我有表:
joinedactivities- id, user id(foreign key), searchact id(foreign key)
searchact-id,postcode,lat,long,hobby,venue
我正在尝试根据外键 searchact id 显示表 searchact 中的行。
$user=$_SESSION['id'];
$sql ="SELECT * FROM `joinedactivities` JOIN `searchact` ON `joinedactivities.searchact id = searchact.id` WHERE `user id`=$user ";
$result = mysqli_query($conn, $sql)or die("Error: ".mysqli_error($conn));
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
// output data of each row
echo "Hobby : " . $row["searchact id"];
}
} else {
echo "You have not joined any groups";
}
最佳答案
反引号包含数据库对象。所以你告诉查询引擎这整个事情是一个单一的对象(在本例中是一列):
`joinedactivities.searchact id = searchact.id`
我认为您没有名为 joinedactivities.searchact id = searchact.id
的列,因此查询失败。 (即使您确实有一个名为该名称的列,它仍然是一个不完整的 ON
子句。)用反引号将个人 数据库对象括起来:
`joinedactivities`.`searchact id` = `searchact`.`id`
关于php - 错误 : Unknown column 'joinedactivities.searchact id = searchact.id' in 'on clause' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28608803/