0

1.Подключаюсь к БД(тут ошибок нет всё подключается):

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

$servername = "localhost"; $username = "root"; $password = "root"; $dbname = "register-bd"; $charset = 'utf8mb4';

$conn = mysqli_connect($servername,$username,$password,$dbname); $conn->set_charset($charset);

if(!$conn){ exit("Connection field!"); }else{

}

2.Посылаю sql запрос на добавление данных в users

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

require_once 'db.php'; $login = $_POST['login']; $pass = $_POST['pass'];

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

$conn->query($sql); ?>

3.Данные получаю в html <input> методом "post".В переменные $login , $pass введенные данные доходят, а вот уже в БД нет.

<form action="registration.php" method="post">     
        <input type="text" placeholder="login" name="login">
        <input type="text" placeholder="password" name="pass">
        <button type="submit">register</button>
    </form>
&lt;form action=&quot;auth.php&quot; method=&quot;post&quot;&gt;     
    &lt;input type=&quot;text&quot; placeholder=&quot;login&quot; name=&quot;login&quot;&gt;
    &lt;input type=&quot;text&quot; placeholder=&quot;password&quot; name=&quot;pass&quot;&gt;
    &lt;button type=&quot;submit&quot;&gt;login&lt;/button&gt;
&lt;/form&gt;

4.Пробовал использовать $stmt метод execute(); prepare(); подготавливая запрос, ничего не помогает, ошибок не выдаёт, просто будто игнорирует запись данных.

5.Название БД, что бы уточнить что ошибка не в данных самой БД. введите сюда описание изображения

введите сюда описание изображения

  • 1
    И в файле с запросом тоже ошибок нет? .....а что возвращает query смотрели? а что будет если после запроса испытать https://www.php.net/manual/en/mysqli.error.php ? ..... а какой "чистый запрос" в итоге получается - смотрели? – Алексей Шиманский Mar 18 '24 at 10:16
  • 1
    а, всё....понятно......... ошибки явно есть (одна точно).........и их точно увидите когда mysqli_error примените....... – Алексей Шиманский Mar 18 '24 at 10:17
  • Похоже, что поле с паролем у вас по другому называется и еще неизвестен тип поля id. – SwaD Mar 18 '24 at 10:48
  • @АлексейШиманский постарайтесь забыть о существовнии этой функции. Это рудимент из прошлого века, который и раньше-то не было смысла использовать, а в последних версиях РНР она и вовсе бесполезна. – Ипатьев Mar 18 '24 at 11:33
  • @Ипатьев просто не помню как посмотреть ошибку, если эта ошибка в SQL запросе. Мне казалось пыха должна была показать, но ТС утверждает, что ошибок нет. Поэтому написал про эту функцию – Алексей Шиманский Mar 18 '24 at 11:48
  • @АлексейШиманский в поддерживаемых версиях PHP mysqli действительно сама говорит об ошибках в запросах. В легаси версиях надо настраивать вручную, через mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT). Но это, во-первых, гораздо проще, поскольку пишется только один раз, а не ходить за каждым запросом с mysqli_error, а во-вторых правильнее, поскольку mysqli_error сами по себе не выводятся, то есть их надо специально выводить. А потом этот вывод остается в коде и светит ошибками на продакшене. – Ипатьев Mar 18 '24 at 12:12

0 Answers0