1

Собственно, пришёл с таким вопросом, почему не проходят данные в БД? Как ни пробовал, убирал одинарные кавычки, обычные, ставил даже там где не нужно, ничто не помогло.

Вот сама правка в БД:

$query="INSERT INTO `registr_users` (`id`, `date_created`, `login`, `password`, `email`)
                  VALUES (NOW(), '$login', '$password', '$email')";

Ответ при вводе в SQL:

1136 - Количество столбцов не совпадает с количеством значений в записи 1

  • 3
    Отож... 5 полей, и всего 4 значения... – Akina Sep 03 '19 at 16:36
  • Никогда не подставляйте значения переменных непосредственно в запрос. Всегда используйте подготавливаемые запросы https://ru.stackoverflow.com/q/511895/194569 Это поможет как избежать массы проблем при разработке и отладке, так и защитит ваши сайты от взломов – Mike Sep 04 '19 at 14:18

2 Answers2

1

Так и есть), 1136 - Количество столбцов не совпадает с количеством значений в записи, у тебя должно точно совпадать количество и очередность значений! попробуй так.

$query="INSERT INTO `registr_users` (`login`, `password`, `email`)
                  VALUES ("'.$login.'", "'.$password.'", "'.$email.'")";
B.Serg
  • 44
  • Получилось, однако, " и . вывело как ошибка в синтаксисе, так что пришлось убрать. Но тут еще одна проблемка, теперь скрипт просто бесконечно грузит... – Хушанг Камолиддинов Sep 04 '19 at 02:04
0

просто бесконечно грузит.

; - конец запроса:

$query="INSERT INTO `registr_users` (`login`, `password`, `email`)
                  VALUES ("'.$login.'", "'.$password.'", "'.$email.'");";