总的来说,我对 SQL 和 PHP 还很陌生。我正在为我的网站(一个学校项目)制作一个小型搜索栏,并且我有三个与第四个相关的表格。我使用了以下 SQL 代码(仅查看我想要加入的第一个表):
SELECT `band`.`bands`, `diskografi`.`FKband`
FROM `band`
INNER JOIN `diskografi`
ON `band`.`id` = `diskografi`.`FKband`
这给了我这张表:
在我看来,它没有正确连接,但我认为可能是我不理解 SQL。 现在我只能搜索我的乐队表(如下所示)。
$query = mysql_query("SELECT * FROM band WHERE bands LIKE '%$searchq%'")
我希望能够搜索此表,并且仍然获得乐队名称。
最佳答案
当您进行联接时,可以从 FROM
子句中保留联接表。试试这个:
$query = mysql_query("SELECT * FROM band
INNER JOIN diskografi ON band.id = diskografi.FKband
WHERE bands
LIKE '%$searchq%'");
我希望这仅用于测试目的。因为使用 mysql_query
并不安全并且已被弃用。您最好使用 PDO
或 mysqli
以及准备好的语句。
关于php - SQL INNER JOIN 未正确连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22855204/