1054:'where 절'의 알 수 없는 열 'a.first_letter'
但数据表是有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> ;
일반적으로 SQL 스플라이싱을 사용하지 마세요. 이렇게 하면 공격자가 SQL을 주입할 수 있기 때문입니다. 프레임워크에서 제공하는 MODEL 레이어를 사용하거나 직접 작성하는 것이 가장 좋습니다.
알아볼 수도 있습니다.
a.first_letter
放到查询字段里面,记得好像5.7
版本之后的sql,查询条件字段必须在select
my.cnf를 수정하여 이를 방지할 수도 있습니다.desc vod;