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.production 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;