-1

下面是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 提示符上运行此查询时,它运行良好,但是当我用变量替换常量值时,此查询不起作用。

4

1 回答 1

0

不幸的是,我们不知道您的$_SESSION数组是否包含整数或字符串。如果元素或是字符串sector,则需要在 SQL 中引用它们,如下所示:r1themeWHERE sector = '". $_SESSION['sector'] . "' OR

此外,您的表被命名database也无济于事。如果我没记错的话,DATABASE是一个保留字,因此您需要在该表名周围加上反引号:

... FROM `database` ...
于 2013-03-30T20:32:18.873 回答