我有一个不起作用的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."')")
答案 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
作为第一个(即在另一个查询中定义的集合的成员)