以下是MySql查询:
$queryfilter = "SELECT * FROM tablename where sector = " .$_SESSION['idfilterdrop']. " AND
region IN (SELECT region from
tablename where sector = " . $_SESSION['sector'] ." OR region = " .
$_SESSION['r1'] ." OR theme = " . $_SESSION['theme'] .")";
帮我查找语法错误。我确信在上面的查询中存在双引号的问题。当我在MySql提示符上运行此查询时,它运行正常,但是当我用变量替换常量值时,此查询不起作用。
答案 0 :(得分:0)
不幸的是,我们不知道您的$_SESSION
数组是否包含整数或字符串。如果元素sector
,r1
或theme
是字符串,则需要在SQL中引用它们,如下所示:WHERE sector = '". $_SESSION['sector'] . "' OR
。
此外,您的表名为database
并没有帮助。如果我没记错的话,DATABASE
是一个保留字,所以你需要在该表名称附近放置一些:
... FROM `database` ...