Ilyas Zahir Ответов: 1

Проверьте, существует ли уже в базе данных mysql


привет ребята я хочу проверить если текст уже существует в моей таблице если существует не вставляйте и если не существует вставьте его

я написал команду только для вставки я не знаю как проверить перед вставкой

MySqlConnection conect = new MySqlConnection(connectionString);
                conect.Open();
                MySqlCommand cmsd = con.CreateCommand();
                cmd.CommandType = CommandType.Text;
                lochwidTxt.Text = HWDI.GetMachineGuid();
                cmd.CommandText = "INSERT INTO userprof  (u_name, u_pass, u_ip) " + " Values ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + lochwidTxt.Text + "')";


Что я уже пробовал:

проверьте если он уже существует если он не существует вставьте его

[no name]

О, не обращайте внимания на мой комментарий, вам уже сказали, как это сделать.

1 Ответов

Рейтинг:
1

Patrice T

Никогда не создавайте SQL-запрос путем конкатенации с пользовательскими вводами, он называется "SQL-инъекция", он опасен для вашей базы данных и подвержен ошибкам.
Одна кавычка в имени - и ваша программа рухнет. Если пользовательский ввод типа "Брайан О'Коннер" может привести к сбою вашего приложения, то это уязвимость SQL-инъекции.
SQL-инъекция-Википедия[^]
SQL-инъекция[^]


Ilyas Zahir

спасибо за информацию, im, используя условие на 1 пользователя на 1 одном компьютере

[no name]

Ну и что? Вы когда-нибудь слышали о том, чтобы делать все правильно с первого раза? Нет смысла заставлять пользователей входить в вашу программу, когда они уже вошли в нее. В любом случае вы пишете запрос для выбора пользователя, и если количество результатов равно 1 или более, то у них уже есть логин.

Ilyas Zahir

я думаю, что вы не очень внимательно прочитали, что именно я хочу :

это проверить существует ли он и если он не существует вставьте его