一般来说,我对SQL和PHP还是很陌生。我正在为我的网站(一个学校项目)制作一个小的搜索栏,并且已经设置了三个表,第四个表已设置。我使用以下SQL代码(仅查看我要加入的第一个表):
SELECT `band`.`bands`, `diskografi`.`FKband`
FROM `band`
INNER JOIN `diskografi`
ON `band`.`id` = `diskografi`.`FKband`
这给了我这个表:
http://puu.sh/7VnOJ.png
在我看来,它未正确连接,但我想这可能是我不了解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/