1054:Unknown column 'a.first_letter' in 'where clause'
但数据表是有first_letter这个字段的
[ SQL语句 ] : SELECT a.id AS vod_id, a.classid AS vod_classid, a.name AS vod_name, a.pic_url AS vod_pic_url, a.definition AS vod_definition, a.movie_type AS vod_movie_type, b.price AS vod_price, c.pay_flag AS vod_pay_flag FROM vod AS a LEFT JOIN vod_price AS b ON b.vod_id = a.id LEFT JOIN vod_pay_log AS c ON c.pay_vod_id = a.id AND c.checkin_id = ''WHERE a.status = 1 AND a.classid =1 AND a.first_letter like 'A%' ORDER BY a.sort, a.id DESC</h1>
Heck, generally don’t use sql splicing, because this will allow attackers to inject SQL. It is best to use the MODEL layer provided by the framework, or write it yourself.
You can try to find out
a.first_letter
放到查询字段里面,记得好像5.7
版本之后的sql,查询条件字段必须在select
. You can also avoid this by modifying my.cnf.desc vod;