Всем добрый день. Пишу вот такой код (а вернее беру из учебника), который должен производить регистрацию, то есть брать данные из формы и записывать в БД. При этом не дает записать данные по неизвестной причине, все доступы даны. Код (Text): [LIST=1] [*]<?php [*] //Устанавливаем доступы к базе данных: [*] $host = 'localhost'; //имя хоста, на локальном компьютере это localhost [*] $user = 'root'; //имя пользователя, по умолчанию это root [*] $password = ''; //пароль, по умолчанию пустой [*] $db_name = 'testbd'; //имя базы данных [*] [*] //Соединяемся с базой данных используя наши доступы: [*] $link = mysqli_connect($host, $user, $password, $db_name); [*] /* [*] Соединение записывается в переменную $link, [*] которая используется дальше для работы mysqi_query. [*] */ [*]?> [*]<!-- Это форма регистрации: --> [*] <form action='reg.php' method='POST'> [*] <input name='login'> логин <br> [*] <input name='password' type='password'> пароль <br> [*] <input name='password_confirm' type='password'> подтвердите пароль <br> [*] <input type='submit' value='Отправить'> [*] </form> [*]<!-- Конец формы регистрации. --> [*]<?php [*] //Если форма регистрации отправлена и ВСЕ поля непустые... [*] if ( [*] !empty($_REQUEST['login']) [*] and !empty($_REQUEST['password']) [*] and !empty($_REQUEST['password_confirm']) [*] ) [*] { [*] [*] //Пишем логин и пароль из формы в переменные (для удобства работы): [*] $login = $_REQUEST['login']; [*] $password = $_REQUEST['password']; [*] $password_confirm = $_REQUEST['password_confirm']; //подтверждение пароля [*] [*] //Если пароль и его подтверждение совпадают... [*] if ($password == $password_confirm) { [*] /* [*] Выполняем проверку на незанятость логина. [*] Ответ базы запишем в переменную $is_login_free. [*] [*] ВЫБРАТЬ ИЗ таблицы_users ГДЕ логин = $login. [*] */ [*] $query = 'SELECT*FROM users WHERE login="'.$login.'"'; [*] $is_login_free = mysqli_query($link, $query); [*] echo (bool)$is_login_free; [*] echo '<br>'; [*] var_dump(mysqli_fetch_assoc($is_login_free)); [*] echo '<br>'; [*] //Если $is_login_free пустой - то логин не занят! [*] if (empty($is_login_free)) { [*] /* [*] Формируем и отсылаем SQL запрос: [*] [*] ВСТАВИТЬ В таблицу_users УСТАНОВИТЬ [*] логин = $login И пароль = $password. [*] */ [*] $query = 'INSERT INTO users SET login='.$login.', password='.$password; [*] mysqli_query($link, $query); [*] [*] //Выведем сообщение об успешной регистрации: [*] echo 'Вы успешно зарегистрированы!'; [*] } [*] //Если $is_login_free НЕ пустой - то логин занят! [*] else { [*] echo 'Такой логин уже занят!'; [*] } [*] } [*] //Если пароль и его подтверждение НЕ совпадают - выведем ошибку: [*] else { [*] echo 'Пароли не совпадают!'; [*] } [*] } [*] //Не заполнено какого-либо из полей. [*] else { [*] echo 'Поля не могут быть пустыми!'; [*] } [*]?> [/LIST] При этом в 47 и 49 строке кода я сделал вывод значения функции для отладки и 47я строка выдает "1", а 49 - NULL. Какие бы данные не вбивал, всегда скрипт идет по ветке с "Такой логин уже занят!" В чем тут может быть ошибка? Помогите разобраться, пожалуйста.
у тебя есть возможность отладки. у тебя есть доступ к документации. почему ты предпочитаешь вывалить свои ошибки на других? ИМХО, нормальные вопросы на форуме относятся к алгоритмам, приёмам и хорошим практикам. но никак не про "почему у меня null в этой строке". это можно и нужно выяснить самомстоятельно.