Другие языки программирования и технологии

Логин, имя, пароль пользователя после регистрации, не приходят на phpmyadmin

Логин, имя, пароль пользователя не приходят на базу данных после регистрации, не приходят на phpmyadmin
<?php
$login = filter_var(trim($_POST['login']),
FILTER_SANITIZE_STRING);
$pass = filter_var(trim($_POST['pass']),
FILTER_SANITIZE_STRING);
$name = filter_var(trim($_POST['name']),
FILTER_SANITIZE_STRING);

$mysql = new mysqli('localhost','root','----','----');
$mysql->query("INSERT INTO 'users' ('login', 'pass', 'name')
VALUES('$login''$pass','$name')");


$mysql->close();
?>
Если логин, имя и пароль пользователя не приходят на базу данных после регистрации, возможно есть некоторые проблемы в коде, которые могут привести к ошибке.

Вот несколько возможных проблем и рекомендации по исправлению:

1. Проверьте правильность подключения к базе данных. Убедитесь, что хост, имя пользователя, пароль и название базы данных указаны правильно. Также убедитесь, что у вас есть соответствующие права доступа к базе данных.

2. Проверьте, что форма отправляет данные методом POST и что имена полей в HTML-форме соответствуют тем, которые вы используете в PHP-скрипте ($_POST['login'], $_POST['pass'], $_POST['name']).

3. Проверьте, что все переменные успешно фильтруются и не содержат нежелательных символов. Убедитесь, что функция filter_var и фильтры FILTER_SANITIZE_STRING работают правильно. Также рекомендуется применять дополнительные проверки на валидность данных перед вставкой в базу данных.

4. Проверьте правильность синтаксиса запроса INSERT INTO. У вас должны быть правильно указаны имена таблицы и полей, а также значения, которые вы вставляете. Убедитесь, что вы используете одинарные кавычки для обозначения имен таблицы и полей, а не двойные кавычки, и что значения разделены запятыми.

5. Проверьте, что у вас есть соединение с базой данных, и нет ошибок в подключении или выполнении запроса. Вы можете добавить проверку на ошибки, используя методы объекта $mysql, например, $mysql->connect_error для проверки ошибки подключения и $mysql->error для проверки ошибок выполнения запроса.

6. Убедитесь, что ваш сервер настроен для отправки данных в базу данных. Проверьте, что PHP имеет доступ к вашей базе данных и что phpMyAdmin работает правильно.

Обратите внимание, что в вашем коде есть пробелы и ошибки в синтаксисе. Вот исправленная версия вашего кода:

```php
<?php
$login = filter_var(trim($_POST['login']), FILTER_SANITIZE_STRING);
$pass = filter_var(trim($_POST['pass']), FILTER_SANITIZE_STRING);
$name = filter_var(trim($_POST['name']), FILTER_SANITIZE_STRING);

$mysql = new mysqli('', 'root', 'пароль', 'имя_базы_данных'); ***
if ($mysql->connect_error) {
die('Ошибка подключения к базе данных: ' . $mysql->connect_error);
}

$query = "INSERT INTO users (login, pass, name) VALUES ('$login', '$pass', '$name')";
if ($mysql->query($query) === TRUE) {
echo "Данные успешно добавлены в базу данных.";
} else {
echo "Ошибка: " . $query . "<br>" . $mysql->error;
}

$mysql->close();
?>
```

Убедитесь, что вы заменили `'пароль'` и `'имя_базы_данных'` на соответствующие значения вашей базы данных.
SK
Sergei Karpcov
235
Лучший ответ
Sergei Karpcov *** - $mysql = new mysqli('localhost', 'root', 'пароль', 'имя_базы_данных');
немного ошибся, вот исправка той строки
Денис Устинов спасибо, ваш метод очень помог
Денис Устинов вопрос, придется ли менять localhost на другое при опубликовании сайта на хостинг
Имена полей нельзя брать в одинарные кавычки ('), нужно или вообще не брать, или брать в обратные кавычки (`), на кнопке Ё. И запятые не пропускай.
ИС
Иван Савин
70 089
ты рутом с базой работаешь? и да, пароль НАДО шифровать.
Антон Точилин
Антон Точилин
23 562
Содержит ошибки, ща исправлю

Похожие вопросы