За последние 24 часа нас посетил 53991 программист и 1765 роботов. Сейчас ищут 1638 программистов ...

Запись в бд

Тема в разделе "PHP для новичков", создана пользователем energy455, 17 фев 2015.

  1. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    Помогите пожалуйста, не пишет в бд. Выводит - "No database selected"
    Код (PHP):
    1. <?php
    2. ini_set('display_errors','On');
    3. error_reporting(E_ALL|E_STRICT);
    4. include_once("bd.php");
    5.  
    6. $login = strip_tags($_POST['login']);
    7. $login = htmlspecialchars($login);
    8. $login = mysql_escape_string($login); // фильтры на html
    9. $pass = strip_tags($_POST['pass']);
    10. $pass = htmlspecialchars($pass);
    11. $pass = mysql_escape_string($pass);
    12.  
    13. //проверка на пустые поля
    14. if($login == ''){
    15.     echo "Введите логин";
    16. } else {
    17.     if ($pass == '') {
    18.         echo "Введите пароль!";
    19.     }
    20. }
    21.  
    22. $login = trim($login);
    23. $mysqli = new mysqli("localhost", $db_user, $db_pass, $db_name); // подключение в переной
    24.     printf("Ошибка соединения: %s\n", mysqli_connect_error());
    25.     exit();
    26. } else {
    27. $selected = ("SELECT id FROM user2 WHERE login='$login'");  // выбераем ид при условии что логин= записи в переменой логин
    28. $sql = mysql_query($selected) or die(mysql_error());
    29.  
    30. if (mysql_num_rows($sql) > 0) { // если ид не пуст то
    31.     echo "такой логин уже зареган";
    32. }else{
    33.         $add = mysqli_query($mysqli, "INSERT INTO user2 (login,pass) VALUES ('$login'),('$pass')"); //пишем в бд логин и пасс
    34.           $result = mysql_query($add) or die(mysql_error());; // если ошибка выводим
    35.             echo "<p>Новая запись вставлена в базу!</p>"; // пишем что все ок
    36.         }
    37.     }
    38. ?>
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Bd.php покажи
     
  3. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    Код (PHP):
    1. <?php
    2. $db_name = 'mysql';
    3. $db_user = 'root'; 
    4. $db_pass = 'root';
    5. $db_loc = 'localhost'; 
    6. ?>
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    не удивительно... намешал mysqli в одном месте, а вдругом хочешь использовать mysql ;)
     
  5. zahermaher

    zahermaher Новичок

    С нами с:
    27 сен 2014
    Сообщения:
    169
    Симпатии:
    14
    Допиши : mysql_select_db("mysql") or die (mysql_error());

    У вас точно база "mysql" называется?
     
  6. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    Вот переделал, сделал так :
    Код (PHP):
    1. <?php
    2. ini_set('display_errors','On');
    3. error_reporting(E_ALL|E_STRICT);
    4. include_once("bd.php");
    5.  
    6. $login = strip_tags($_POST['login']);
    7. $login = htmlspecialchars($login);
    8. $login = mysql_escape_string($login);
    9. $pass = strip_tags($_POST['pass']);
    10. $pass = htmlspecialchars($pass);
    11. $pass = mysql_escape_string($pass);
    12.  
    13. if($login == ''){
    14.     echo "Введите логин";
    15. } else {
    16.     if ($pass == '') {
    17.         echo "Введите пароль!";
    18.     }
    19. }
    20.  
    21. $login = trim($login);
    22. $mysqli = new mysqli("localhost", $db_user, $db_pass, $db_name);
    23.     printf("Ошибка соединения: %s\n", mysqli_connect_error());
    24.     exit();
    25. } else {
    26.     $user = mysqli_query($mysqli, "SELECT id FROM user2 WHERE login = '$login'");
    27.         $id_user = mysqli_fetch_array($user);
    28.         if (empty($id_user['id'])) 
    29.         {
    30.             echo 'Введенные данные не верны';
    31. }else{
    32.         $insert = mysqli_query($mysqli, "INSERT INTO user2 (login,pass) VALUES ('$login'),('$pass')");
    33.             echo "<p>Новая запись вставлена в базу!</p>";
    34.             echo $pass;
    35.             echo $login;
    36.         }
    37.     }
    38. ?>
    пишет что записано, но в бд новых записей нет.
    Вывел echo - login and pass , там записи есть, все норм. Но почему не пишет, не понятно(

    Добавлено спустя 1 минуту 59 секунд:
    вот бд - http://prntscr.com/667nmm

    2 строчки сам записал для теста.)
     
  7. zahermaher

    zahermaher Новичок

    С нами с:
    27 сен 2014
    Сообщения:
    169
    Симпатии:
    14
    так где запись в базу поставь mysqli_connect_errno()
    и смотри что напишет.

    Возможно надо так:
    Код (Text):
    1. $insert = mysqli_query($mysqli, "INSERT INTO user2 (login,pass) VALUES ('".$login."','".$pass."')");
     
  8. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    Код (PHP):
    1.        $insert = mysqli_query($mysqli, "INSERT INTO user2 (login,pass) VALUES ('$login'),('$pass')");
    2.         if (mysqli_connect_errno()) {
    3.     printf("Ошибка соединения: %s\n", mysqli_connect_error());
    4.     exit();
    5. } else {
    6.             echo "<p>Новая запись вставлена в базу!</p>";
    7.  
    вставил так, выводит сообщение - "запись добавлена" , но новых строк в бд нет
     
  9. zahermaher

    zahermaher Новичок

    С нами с:
    27 сен 2014
    Сообщения:
    169
    Симпатии:
    14
    и не должно быть.
    Код (Text):
    1. $insert = mysqli_query($mysqli, "INSERT INTO user2 (login,pass) VALUES ('".$login."','".$pass."')");
    Пробовали?
     
  10. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    во,спасибо!)

    Добавлено спустя 5 минут 1 секунду:
    как можно сделать такое -
    есть поле, когда происходит ошибка ,то у поля фон красный, если все успешно то поле зеленое ?
     
  11. zahermaher

    zahermaher Новичок

    С нами с:
    27 сен 2014
    Сообщения:
    169
    Симпатии:
    14
    css стилями
     
  12. energy455

    energy455 Новичок

    С нами с:
    30 янв 2015
    Сообщения:
    122
    Симпатии:
    0
    ну это я понял. Но как менять бэкграунд при успехе/ошибки?
     
  13. zahermaher

    zahermaher Новичок

    С нами с:
    27 сен 2014
    Сообщения:
    169
    Симпатии:
    14
    так в чем проблема? меняйте в нужном месте стили или class через условие php или с помощью js.