HTMLフォームの値がデータベースの値と等しいかどうかを確認するには、trueではなくfalseを返します。Rubyでデータベース(SQLite3)の値を使用する方法
もっとコードが必要ですか?
コード:
password = params[:password]
password_db = @db.execute('SELECT password FROM dtbs WHERE username=?', [params[:username]])
puts password #returns llol123
puts password_db #returns llol123
check = (password==password_db)
puts check #returns false
パスワード文字列の前後に空白記号がデータベースにある可能性があります。すなわち[llol123]の代わりに[llol123]または[lol123]があります。これによりこの問題が発生する可能性があります。 put ["#{password_db}"を入力し、 "[#{password}]"を入力して、不要な空白があるかどうか確認してください。 – Valdis
私はORMを使用することをお勧めしたいと思います。 [Sequel](http://sequel.jeremyevans.net)が私のお勧めです。良いORMを使用すると、コードに集中してクエリの生成を処理させることができます。別のDBMに変更する場合は、接続情報を変更するだけで、ORMが自動的に残りの部分を処理します。 –