Я пишу программу, которая просит пользователя ввести свое имя пользователя и пароль в мою базу данных на localhost, которая использует phpmyadmin. Я пробовал следовать этому руководству о том, как это сделать: https://www.youtube.com/watch?v=jZsTLlFoNuo и я могу подключиться к базе данных просто отлично, я думаю, что моя проблема - это мой оператор SQL. Вот мой код формы:Как сохранить пользовательский ввод имени пользователя и пароля в phpmyadmin в VB?
Imports MySql.Data.MySqlClient
Public Class frmSignup
Dim ServerString As String = "Server=localhost;User Id=;Password=;Database=AccountInfo"
Dim SQLConnection As MySqlConnection = New MySqlConnection
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
SQLConnection.ConnectionString = ServerString
Try
If SQLConnection.State = ConnectionState.Closed Then
SQLConnection.Open()
MsgBox("Successfully connected to DB")
Else
SQLConnection.Close()
MsgBox("Failed to connect to DB")
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Public Sub SaveAccountInformation(ByRef SQLStatement As String)
Dim cmd As MySqlCommand = New MySqlCommand
With cmd
.CommandText = SQLStatement
.CommandType = CommandType.Text
.Connection = SQLConnection
.ExecuteNonQuery()
End With
SQLConnection.Close()
MsgBox("Successfully Registered Account!")
SQLConnection.Dispose()
End Sub
Private Sub btnSignup_Click(sender As Object, e As EventArgs) Handles btnSignup.Click
If txtPasswd.Text = txtPasswd2.Text Then
MessageBox.Show("Passwords Match!")
Dim SQLStatement1 As String = "INSERT INTO `accountinfodb` (`Usernames`, `Passwords`) VALUES ('', '')"
Else
MessageBox.Show("Passwords Do Not Match!")
txtPasswd.Text = Focus()
txtPasswd.Clear()
txtPasswd2.Text = Focus()
txtPasswd2.Clear()
End If
End Sub
End Class
Моя база данных называется «Account Information» с моим столом под названием «Счета», который является, где я хотел бы сохранить свое имя пользователя и пароль.
Итак, мой общий вопрос: как мне хранить информацию (имя пользователя & пароль) в phpmyadmin? Я пробовал искать Google, но безуспешно я нашел что-нибудь. Если бы кто-нибудь мог мне помочь, это было бы здорово, спасибо!
EDIT 1
Так что теперь у меня есть ошибка в моем SQL синтаксисе, так что я около 99% уверен, что это мой SQL заявления в своем коде, что является неправильным при хранении имени пользователя и пароля.
Dim SQLStatement1 As String = "INSERT INTO accountinfo(accountinfodb) (`Usernames`, `Passwords`) VALUES ('" & txtPasswd.Text & txtUsername.Text & "')"
дает мне ошибку:
An unhandled exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll
Additional information: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
Usernames
,Passwords
) VALUES ('123123')' at line 1
Когда я типа 123 для пользователя и 123 для ввода пароля.
Dont хранить пароли в виде текста. Хеши их. Я не уверен, что это имеет какое-либо отношение к phpadmin, поскольку кажется, что вы просто пытаетесь сохранить их в базе данных MySql. В противном случае должно появиться сообщение об ошибке. Это не похоже, что вы когда-либо называли 'SaveAccountInformation', и вам не нужно открывать глобальное соединение все время. – Plutonix
@Plutonix. Я собирался хранить их как соленый хеш MD5, я просто хочу сохранить имя пользователя и пароль в свою БД, чтобы сделать что это действительно работает. Я использую phpmyadmin в качестве своего графического интерфейса для моей базы данных MySQL, возможно, я неправильно настроил базу данных? Моя настройка базы данных можно увидеть здесь: http://imgur.com/4bowwG6 Когда я запускаю свою программу, я ввожу имя пользователя и пароль, затем перехожу к phpmyadmin, но не вижу, что я где-то ввел, Я думаю, что может быть что-то не так с моим SQL-заявлением? – Jcrow
MD5 является субоптимальным, поскольку использование SHA или PBKDF2 столь же прост в использовании. См. [Является ли безопасным для меня хранить имена пользователей и пароли в базе данных?] (Http://stackoverflow.com/q/31146658/1070452) – Plutonix