2016-07-02 13 views
0

ウェブサイト用のリモートmysqlサーバがある場所にログインシステムがあります。シンプルなMySQLログイン - ヘルプが必要

私は正常に動作、それ以下のシステムを持っている:

mydbcon = New MySqlConnection 
     mydbcon.ConnectionString = "server=server.com; userid=nathand2_portico; password=password; database=nathan_database" 
     Dim reader As MySqlDataReader 

    Try 
     mydbcon.Open() 
     Dim Query As String 
     Query = String.Format("SELECT * FROM info WHERE username = '{0}' AND password = '{1}'", Me.Username.Text.Trim(), Me.Password.Text.Trim()) 
     COMMAND = New MySqlCommand(Query, mydbcon) 
     reader = Command.ExecuteReader 

     Dim count As Integer 
     count = 0 
     While reader.Read 
      count = count + 1 

     End While 

     If count = 1 Then 
      Panel2.Visible = True 
      Panel2.BringToFront() 
      Timer1.Start() 

しかし、上記の作品ながら、罰金 - 私だけは別の部分を追加したい私のデータベースでは、私は「アクティブ」と呼ばれるフィールドを持っています。フィールド 'active'が1の場合にログインできるようにしてください。

しかし、私はそれを行う方法がわかりません。手伝ってくれませんか?

+0

パスワードをプレーンテキストとして保存しないでください。ハッシュして塩をかける。 – Plutonix

+0

Plutonix - こんにちは、どうすればいいですか?私は新しいです –

答えて

1

だけで、ユーザー名= '{0}' ANDパスワード= '{1}' とアクティブ= 1

+0

これをチェックし、これが動作するはずです私に教えてください –

+0

ありがとう - これは動作します! yorヘルプありがとう。 –

0

はあなたが好きであるためにあなたのクエリの建物ステートメントを変更することができる情報からあなたのクエリ

SELECT *を更新以下。再度string.Format()メソッドのプレースホルダの周りに'は必要ありません。

Query = String.Format("SELECT * FROM info WHERE username = {0} AND password = {1} AND active = 1", Me.Username.Text.Trim(), Me.Password.Text.Trim()) 

また、あなただけのユーザーが既存のユーザであるかどうかと、そのような場合には

Query = String.Format("SELECT COUNT(*) FROM info WHERE username = {0} AND password = {1} AND active = 1", Me.Username.Text.Trim(), Me.Password.Text.Trim()) 

なり、代わりにExecuteReader()

ExecuteScalar()メソッドを使用するようにクエリを変更できるかどうかを確認しようとしています