Php mysqli子查询字符串不起作用
我有一个mysql查询不起作用。它给了我以下错误: mysqli_查询要求参数1为mysqli,给定为null 我的sql查询是:Php mysqli子查询字符串不起作用,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我有一个mysql查询不起作用。它给了我以下错误: mysqli_查询要求参数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."')") 查询将不起作用,您的查询正在执行什么操作 WHERE id LIKE (SELE
$select = mysqli_query($sql, "SELECT title FROM category WHERE id LIKE (SELECT categorie_id FROM categories_sub WHERE file LIKE '".$site."')")
查询将不起作用,您的查询正在执行什么操作
WHERE id LIKE (SELECT categorie_id FROM categories_sub WHERE file = 'some val')
这类似于
WHERE id = {multiple categorie_id}
当子查询有多个category_id时,这将返回错误
因此,替换
category WHERE id LIKE
到
此错误可能意味着您没有正确连接到数据库。仔细检查你的连接。此外,类似于“x”的文件相当于file='x'。要搜索包含“x”的字符串,请使用类似“%x%”的文件
编辑:其他答案是正确的,您需要在中使用,而不是在第一个答案中使用,即在另一个查询中定义的集合成员$sql必须是MySQLi的实例。您正在实例化它吗?$sql这是我的数据库连接变量。那么,您的数据库连接代码是什么样子的?那个错误不是凭空出现的。你是在课堂上用的吗?另外,从我在你们的其他问题中看到的情况来看,一切似乎都很好,直到这个。好的,它起作用了。出现错误的原因是,我错误地使用了错误的数据库名称。我的查询看起来像是从类别中选择标题,在从类别中选择id,在从类别中选择id,在子类别中选择文件,如“$site”。但它仍然不起作用。错误是一样的。。
category WHERE id IN ( ...