Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未知列和按多返回子查询筛选_Php_Mysql_Sql_Codeigniter - Fatal编程技术网

Php 未知列和按多返回子查询筛选

Php 未知列和按多返回子查询筛选,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,目前我有一个疑问: $qry = "SELECT platforms.PID FROM user_profile LEFT JOIN platforms ON platforms.relaccount = user_profile.subkey WHERE user_profile.UID = `".$data['id']."`"; $games = $this->db->select('main.APPID, gam

目前我有一个疑问:

$qry = "SELECT platforms.PID
        FROM user_profile
        LEFT JOIN platforms
        ON platforms.relaccount = user_profile.subkey
        WHERE user_profile.UID = `".$data['id']."`";

$games = $this->db->select('main.APPID, games_other.name, games_other.logo')
                 ->select('platforms.PID, platforms.name AS pname, platforms.logo AS plogo')
                 ->select('('.$qry.') AS filt', null, FALSE)
                 ->from('games_link AS main')
                 ->join('games_platforms', 'games_platforms.APPID = main.APPID', 'left')
                 ->join('platforms', 'platforms.PID = games_platforms.PID', 'left')
                 ->join('games_other', 'games_other.APPID = main.GB_ID', 'left')
                 ->like('games_other.name', $name)
                 ->where('platforms.PID', 'filt')
                 ->limit(15)
                 ->get();
其中,我尝试根据输入字符串获取游戏,但按用户拥有的平台进行过滤,但返回以下错误:

Unknown column 'Cf9nHvOlaaLzFRegX2Il' in 'where clause'

SELECT `main`.`APPID`, `games_other`.`name`, `games_other`.`logo`, `platforms`.`PID`, `platforms`.`name` AS pname, `platforms`.`logo` AS plogo, (SELECT platforms.PID FROM user_profile LEFT JOIN platforms ON platforms.reaccount = user_profile.subkey WHERE user_profile.UID = `Cf9nHvOlaaLzFRegX2Il`) AS filt FROM (`games_link` AS main) LEFT JOIN `games_platforms` ON `games_platforms`.`APPID` = `main`.`APPID` LEFT JOIN `platforms` ON `platforms`.`PID` = `games_platforms`.`PID` LEFT JOIN `games_other` ON `games_other`.`APPID` = `main`.`GB_ID` WHERE `platforms`.`PID` = 'filt' AND `games_other`.`name` LIKE '%a%' LIMIT 15

Filename: response/update.php
我尝试过改变一些事情,但没有任何办法解决这个问题


另外,由于我还没能到达那里,这是否可以作为一个过滤器工作。子查询将返回多个。

您有一个带反勾号的列值,该列值无效。如果是整数,则应为单引号或无引号

$qry = "SELECT platforms.PID
        FROM user_profile
        LEFT JOIN platforms
        ON platforms.reaccount = user_profile.subkey
        WHERE user_profile.UID = '".$data['id']."'";
你的问题是:

WHERE user_profile.UID = `Cf9nHvOlaaLzFRegX2Il`
背景标记、`、转义数据库对象(视图名称、表名称、列名等)

字符串值应使用单引号“”进行转义

我会小心在值中连接,如果可能的话,您可能应该将它们绑定