我遇到了一个问题,无法解决。

 $raw_results = mysql_query("SELECT g.id AS gig_id, g.sname AS gig_name, g.start AS start FROM gig AS g
        WHERE (`sname` LIKE '%".$query."%')") or die(mysql_error());


这目前可行,但是我正在添加一个联接(目前并不重要)。

当我尝试在子句中切换“ sname”时

(`sname` LIKE '%".$query."%')


使用g.sname或gig_name

我在“ where子句”中收到错误未知列“ g.sname” [或gig_name]。

无论如何要获得不更改我的PHP的解决方法?

此代码用于php网页上的搜索功能。

编辑:我正在努力工作

        $raw_results = mysql_query("SELECT g.id AS gig_id, g.sname AS gig_name, g.start AS start, v.sname AS venue_name FROM gig AS g, venue as v
        WHERE g.venue=v.id AND (`gig_name` LIKE '%".$query."%')") or die(mysql_error());

最佳答案

尝试这种方式,您需要在where子句中使用g.sname

$raw_results = mysql_query(
"SELECT
g.id AS gig_id,
g.sname AS gig_name,
g.start AS start,
v.sname AS venue_name
FROM gig g
inner join
venue  v on v.id = g.venue
WHERE
`g`.`sname` LIKE '%".$query."%'"
) or die(mysql_error());


DEMO

关于php - 'where子句'MYSQL,PHP中的未知列[name],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23404040/

10-12 13:34
查看更多