ホームページ  >  に質問  >  本文

php - SQLステートメントのスプライシングエラーレポート

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.movi​​e_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>

天蓬老师天蓬老师2706日前717

全員に返信(3)返信します

  • PHP中文网

    PHP中文网2017-05-24 11:36:31

    通常、SQL スプライシングは使用しないでください。攻撃者が SQL を挿入できるようになるからです。フレームワークによって提供される MODEL レイヤーを使用するか、自分で作成することをお勧めします。

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-24 11:36:31

    調べてみてくださいa.first_letter放到查询字段里面,记得好像5.7版本之后的sql,查询条件字段必须在select、my.cnf.

    を変更することでこれを回避することもできます。

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-24 11:36:31

    desc vod;

    返事
    0
  • キャンセル返事