mysqli子查询字符串没有用

时间:2014-05-28 18:08:09

标签: php mysql sql mysqli

我有一个不起作用的mysql查询。它给了我以下错误:

  

mysqli_query()期望参数1为mysqli,给定

为null

我的SQL查询是:

$select = mysqli_query($sql, "SELECT title FROM category WHERE id LIKE (SELECT categorie_id FROM categories_sub WHERE file LIKE '".$site."')")

2 个答案:

答案 0 :(得分:1)

查询无效,查询正在进行

WHERE id LIKE (SELECT categorie_id FROM categories_sub WHERE file = 'some val')

这与

类似
WHERE id = {multiple categorie_id} 

当子查询具有多个categorie_id时,这将返回错误。

所以替换

category WHERE id LIKE 

category WHERE id IN ( ...

答案 1 :(得分:0)

此错误往往意味着您未正确连接到数据库。仔细检查您的连接。此外,file LIKE 'x'相当于file='x'。要搜索包含“x”的字符串,请使用file LIKE '%x%'

编辑:其他答案是正确的,你需要使用IN而不是LIKE作为第一个(即在另一个查询中定义的集合的成员)