我有两个表,它们都有“名称”作为列。我认为我的搜索是成功的,但是当作为数组中的索引时,如何区分两者?
SQL 查询:
$result = $pdo->prepare('SELECT * FROM `profs`
INNER JOIN `universities`
ON `profs`.`school_id` = `universities` . `id`
AND `profs` . $searchtype LIKE :query');
$result->bindValue(':query', "%" . $_GET['query'] . "%");
$result->execute();
我注意到我可以使用句点来指定哪个表(例如 profs.school_id 或 Universities.id)
我尝试了类似的方法来在表格中显示结果:
foreach ($result as $record) {
echo "<tr><td>", '<a href="individual_sample.php?id=', $record['id'], '">', $record['name'], '</a></td>';
echo "<td>", $record['universities.name'], "</td>";
echo "<td>", $record['subject'], "</td>";
echo "<td>", $record['latitude'], ",", $record['longitude'], " </td>";
echo "<td>", $record['avg_rating'], "</td></tr>";
}
echo '</table>
我尝试了 $record['universities.name'] 但出现以下错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'profs.school' in 'on clause'Your search did not return any results
最佳答案
尝试这样的事情:
SELECT profs.*, universities.name as university_name FROM `profs`
INNER JOIN `universities` ON `profs`.`school_id` = `universities` . `id`
AND `profs` . $searchtype LIKE :query
然后像
一样访问它$record['university_name']
虽然
$searchtype
不应该是“学校”,因为它不是“教授”中的字段
关于php - PDO - 如何在结果索引中使用表和列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41126948/