За последние 24 часа нас посетили 20267 программистов и 1714 роботов. Сейчас ищет 1351 программист ...

Проблема с подключением к БД. No database selected

Тема в разделе "PHP и базы данных", создана пользователем avaya, 4 июл 2018.

  1. avaya

    avaya Новичок

    С нами с:
    4 июл 2018
    Сообщения:
    12
    Симпатии:
    0
    Давно ничего не писал, но вот понадобилось кое-что сделать по работе.

    Хочу сделать подключение к БД через файл и потом этот файл включать в нужном месте.

    connect.php
    Код (Text):
    1. <?php
    2. $host = 'localhost'; // адрес сервера
    3. $database = 'base'; // имя базы данных
    4. $user = 'root'; // имя пользователя
    5. $password = ''; // пароль
    6. ?>
    index.php
    Код (Text):
    1. require_once 'connect.php';
    2. $link = mysqli_connect($host, $user, $password, $database)
    3.     or die("Ошибка " . mysqli_error($link));
    4.   if(isset($_POST['login']) && isset($_POST['pass'])){
    5.         $sql = mysql_query("
    6.             SELECT count(*) FROM `users`
    7. и т.д.
    По получаю ошибку No database selected
    Где, в каком месте ошибся? Имя базы написано верно
     
  2. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Почему коннектор от mysqli, а вызов от mysql?
     
  3. avaya

    avaya Новичок

    С нами с:
    4 июл 2018
    Сообщения:
    12
    Симпатии:
    0
    Совсем уже запутался.
    Поправил, но все равно не срабатывает

    Вот полный код index.php
    Код (Text):
    1. <?php  
    2. session_start();
    3. ?>
    4. <head>
    5. <title></title>
    6. </head>
    7. <body>
    8. <div align="center">
    9. <?php
    10. require_once 'connect.php';
    11. $link = mysql_connect($host, $user, $password, $database)
    12.     or die("Ошибка " . mysql_error($link));
    13.     if(isset($_POST['login']) && isset($_POST['pass'])){
    14.      $sql = mysql_query("SELECT count(*) FROM `users` WHERE `login` = '".$_POST['login']."' AND `password` = '".MD5($_POST['pass'])."';")
    15.             or die(mysql_error());
    16.         $row = mysql_fetch_assoc($sql);
    17.         if($row['count(*)']>0){
    18.             $_SESSION['login'] = $_POST['login'];
    19.  
    20.             echo '<meta http-equiv="refresh" content="0;URL=main.php">';
    21. exit();
    22.         }else{
    23.             echo '<strong>Введен не верный логин/пароль!</strong>';
    24.         }
    25.     }
    26. ?>
    27. <form action="" method="post">
    28.  
    29. <table>
    30.   <tr>
    31.     <td  colspan="3" align="center">Логин</br><input type="text" size="20" name="login"/></td>
    32.   </tr>
    33.   <tr>
    34.     <td colspan="3">&nbsp;</td>
    35.   </tr>
    36.   <tr>
    37.     <td colspan="3" align="center">Пароль</br><input type="password" size="21"  name="pass"/></td>
    38.   </tr>
    39.   <tr>
    40.     <td colspan="3">&nbsp;</td>
    41.   </tr>
    42.   <tr>
    43.   <td><div align="right"><input type="submit" name="Submit" value="      Вход      "></div></td>
    44.   <td>&nbsp;&nbsp;</td>
    45.   <td><div align="left"><input type="reset" name="Submit2" value="    Отмена    "></div></td>
    46. </tr>
    47. </table>  
    48. </form>
    49. </div>
    50.     </div>
    51. </div>
    52. </body>
    53. </html>
     
  4. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Ну вы уж определитесь что использовать. В mysql база данных так не выбирается.
    --- Добавлено ---
    Прочитайте документацию по используемым функциям.
     
    avaya нравится это.
  5. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    Потому что, ты делаешь запрос, а link не используешь
     
    avaya нравится это.
  6. Ondottr

    Ondottr Новичок

    С нами с:
    24 ноя 2017
    Сообщения:
    46
    Симпатии:
    5
    сделай так:
    PHP:
    1. $host="host";
    2. $user="user";
    3. $pass="pass";
    4. $db_name="base";  
    5. $mysqli = new mysqli("$host", "$user", "$pass", "$db_name");
    6. if ($mysqli->connect_error) {
    7.     printf("Не удалось подключиться к базе данных: %s\n", $mysqli->connect_error);
    8.     exit();
    9. }
    10. // И запрос:
    11.  
    12. $result = $mysqli->query("SELECT * FROM `users` WHERE `login` LIKE '$login'");
    13. $row = $result->fetch_array(MYSQLI_BOTH);
     
    avaya нравится это.