Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

MySQL вернула пустой результат (т.е. ноль строк). (Запрос занял 0,0002 сек.) Данные не вносятся в базу данных

Александра Т Ученик (89), на голосовании 10 месяцев назад
registration.html
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="cssstyle.css">
</head>
<body>

<div class="intro">
<div class="container">
<h1>Регистрация</h1>
</div>
</div>

<form action="registrer.php" method="post">
<input type="text" placeholder="login" name="login">
<input type="text" placeholder="password" name="pass">
<input type="text" placeholder="repeatpassword" name="reppass">
<button type="submit">Готово</button>
</form>

</body>
</html>

registrer.php
<?php
require_once('db.php');
$login = $_POST['login'];
$pass = $_POST['pass'];
$reppass = $_POST['reppass'];

$sql = "INSERT INTO 'users' (login,pass) VALUES ('$login', '$pass')";

$conn -> query($sql);

db.php
<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "register_user";

$conn = mysqli_connect($servername, $username, $password, $dbname);

if(!$conn){
die("Connection Failed". mysqli_connect_error());
} else {
"Win";
} ?>
Голосование за лучший ответ
Ковбой Мастер (1861) 11 месяцев назад
При анализе кода я заметил несколько проблем, которые могут вызывать проблему:

В вашем SQL-запросе в файле registrer.php вы используете одинарные кавычки вокруг имени таблицы 'users'. В MySQL имена таблиц и столбцов должны быть заключены в обратные кавычки (`) вместо одинарных кавычек. Таким образом, правильный запрос должен выглядеть так:
$sql = "INSERT INTO `users` (login, pass) VALUES ('$login', '$pass')";
В файле db.php у вас есть синтаксическая ошибка. Вместо простого упоминания "Win" вы должны использовать echo, чтобы вывести сообщение. Таким образом, исправленный код должен выглядеть так:
if (!$conn) {
die("Connection Failed" . mysqli_connect_error());
} else {
echo "Win";
}
Пожалуйста, внесите эти изменения и попробуйте запустить код снова. Также убедитесь, что ваш сервер MySQL работает и что у вас есть правильные учетные данные для базы данных (имя пользователя, пароль и имя базы данных) в файле db.php.

Если проблема сохраняется, пожалуйста, предоставьте любые сообщения об ошибках или дополнительную информацию, которую вы получаете, чтобы я мог помочь вам дальше.
Александра ТУченик (89) 11 месяцев назад
GPT писал?, не работает
Андрей Панарин Искусственный Интеллект (249200) 11 месяцев назад
После выполнения запроса я добавил такой код:
 $err = $conn -> error; 
if ($err) {
echo "Ошибка: $err";
} else {
echo "Успех!";
}
Благодаря ему я увидел сообщение об ошибке, возникшей при последнем запросе:
 Ошибка: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''users' (login,pass) VALUES ('ortega', 'qq')' at line 1 
Похоже, ему всё-таки не нравятся 'прямые' кавычки около названия таблицы users.
И он прав, в MySQL для имен таблиц и столбцов используются `косые` кавычки. Они вводятся нажатием клавиши Ё в английской раскладке.

Я поправил кавычки, теперь всё работает хорошо.
Похожие вопросы