Помогите пожалуйста, не пишет в бд. Выводит - "No database selected" Код (PHP): <?php ini_set('display_errors','On'); error_reporting(E_ALL|E_STRICT); include_once("bd.php"); $login = strip_tags($_POST['login']); $login = htmlspecialchars($login); $login = mysql_escape_string($login); // фильтры на html $pass = strip_tags($_POST['pass']); $pass = htmlspecialchars($pass); $pass = mysql_escape_string($pass); //проверка на пустые поля if($login == ''){ echo "Введите логин"; } else { if ($pass == '') { echo "Введите пароль!"; } } $login = trim($login); $mysqli = new mysqli("localhost", $db_user, $db_pass, $db_name); // подключение в переной if (mysqli_connect_errno()) { printf("Ошибка соединения: %s\n", mysqli_connect_error()); exit(); } else { $selected = ("SELECT id FROM user2 WHERE login='$login'"); // выбераем ид при условии что логин= записи в переменой логин $sql = mysql_query($selected) or die(mysql_error()); if (mysql_num_rows($sql) > 0) { // если ид не пуст то echo "такой логин уже зареган"; }else{ $add = mysqli_query($mysqli, "INSERT INTO user2 (login,pass) VALUES ('$login'),('$pass')"); //пишем в бд логин и пасс $result = mysql_query($add) or die(mysql_error());; // если ошибка выводим echo "<p>Новая запись вставлена в базу!</p>"; // пишем что все ок } } ?>
Вот переделал, сделал так : Код (PHP): <?php ini_set('display_errors','On'); error_reporting(E_ALL|E_STRICT); include_once("bd.php"); $login = strip_tags($_POST['login']); $login = htmlspecialchars($login); $login = mysql_escape_string($login); $pass = strip_tags($_POST['pass']); $pass = htmlspecialchars($pass); $pass = mysql_escape_string($pass); if($login == ''){ echo "Введите логин"; } else { if ($pass == '') { echo "Введите пароль!"; } } $login = trim($login); $mysqli = new mysqli("localhost", $db_user, $db_pass, $db_name); if (mysqli_connect_errno()) { printf("Ошибка соединения: %s\n", mysqli_connect_error()); exit(); } else { $user = mysqli_query($mysqli, "SELECT id FROM user2 WHERE login = '$login'"); $id_user = mysqli_fetch_array($user); if (empty($id_user['id'])) { echo 'Введенные данные не верны'; }else{ $insert = mysqli_query($mysqli, "INSERT INTO user2 (login,pass) VALUES ('$login'),('$pass')"); echo "<p>Новая запись вставлена в базу!</p>"; echo $pass; echo $login; } } ?> пишет что записано, но в бд новых записей нет. Вывел echo - login and pass , там записи есть, все норм. Но почему не пишет, не понятно( Добавлено спустя 1 минуту 59 секунд: вот бд - http://prntscr.com/667nmm 2 строчки сам записал для теста.)
так где запись в базу поставь mysqli_connect_errno() и смотри что напишет. Возможно надо так: Код (Text): $insert = mysqli_query($mysqli, "INSERT INTO user2 (login,pass) VALUES ('".$login."','".$pass."')");
Код (PHP): $insert = mysqli_query($mysqli, "INSERT INTO user2 (login,pass) VALUES ('$login'),('$pass')"); if (mysqli_connect_errno()) { printf("Ошибка соединения: %s\n", mysqli_connect_error()); exit(); } else { echo "<p>Новая запись вставлена в базу!</p>"; вставил так, выводит сообщение - "запись добавлена" , но новых строк в бд нет
и не должно быть. Код (Text): $insert = mysqli_query($mysqli, "INSERT INTO user2 (login,pass) VALUES ('".$login."','".$pass."')"); Пробовали?
во,спасибо!) Добавлено спустя 5 минут 1 секунду: как можно сделать такое - есть поле, когда происходит ошибка ,то у поля фон красный, если все успешно то поле зеленое ?