1. ホーム

SQLステートメント共通エラー。"不明な列 'xxx' in 'where 節 "どのように解決するには?

2022-02-19 18:02:58

これは、次の画像のようになります。

列の名前が存在しないか、またはデータベースで見つからないことを翻訳する、最初のステップバイステップ

1、まずデータベースを確認する 

入力されたアカウントパスワードは正しいです!

2、eclipseで書いたsql文にエラーがないか確認する

不注意な人は、ユーザー名として書かれた日食のデータベースuname列であってもよいし、SQLのuidがint型と他の整数のようであれば、引用符によって引き起こされない文字型データ上のSQLステートメントのつなぎに起因している何のエラーが、uname、アップパスワードや他の文字列型の外観が含まれる必要があります、それはある文字列、最初のシングルクォートとダブルクォート内の+記号、以下に示すように、ある

sqlステートメントを修正すると、エラーが消えます。

中国語ならselect * from tbl_user where uname like " %fish%" に変更。

拡張された内容です。

SQL攻撃の防止

  1. ユーザー入力に不正な文字がないかフィルタリングする。
  2. 段階的なチェックサム! まずユーザー名で問い合わせ、見つかったらパスワードの比較。
  3. PreparedStatement(プリコンパイル文と呼ばれる)を使用する。