За последние 24 часа нас посетили 36220 программистов и 1640 роботов. Сейчас ищут 974 программиста ...

Сбой при доступе к базе данных

Тема в разделе "MySQL", создана пользователем mahmuzar, 21 июл 2013.

  1. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    содержимое login.php
    Код (Text):
    1.  
    2. <?php //login.php
    3. $db_hostname = 'localhost';
    4. $db_database = 'publications';
    5. $db_username = 'root';
    6. $db_paasword = 'root';
    7. ?>
    Код (Text):
    1.  
    2. <html><head><meta charset="utf-8"></head>
    3.     <?php
    4. //Создание таблицы cats в базе publications
    5.  
    6.     require_once 'login.php';
    7.     $db_server = mysqli_connect($db_hostname, $db_username, $db_paasword);
    8.     if (!$db_server)
    9.         die("Невозможно подключиться к MySQL: " . mysql_error());
    10.     echo $db_database;
    11.     mysqli_select_db($db_server, $db_database) or die("Невозможно выбрать базу
    12.     данных: " . mysql_error());
    13.     $query = "CREATE TABLE cats(
    14. id SMALLINT NOT NULL AUTO_INCREMENT,
    15. family VARCHAR(32) NOT NULL,
    16. name VARCHAR(32) NOT NULL,
    17. age TINYINT NOT NULL,
    18. PRIMARY KEY (id))";
    19.     $result = mysqli_query($db_server, $query);
    20.     if (!$result)
    21.         die("Сбой при доступе к базе данных: " . mysql_error());
    22.     ?>
    23. </html>
    Прошу помощи знатоки. Все эти операции когда делаю через командную строку, работают. Через PHP ничего не выходит.
    ОС Windows 8 64
    Устанавливал MySQL PHP и APACHE сам по книге.
    Все работает. Но только проблемы с базами данных.
     
  2. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Будь добр сообщить текст ошибки.
     
  3. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    вроде сообщил, в браузер ничего не выводится, все работает по коду правильно,
    на этом этапе почему то выполнение идет не так как надо(((
    Код (Text):
    1. if (!$result)
    2.         die("Сбой при доступе к базе данных: " . mysql_error());
    3.     ?>
     
  4. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    и какой текст ошибки?

    Добавлено спустя 1 минуту 38 секунд:
    если нет текста ошибки, то что значит "выполнение идет не так как надо"?

    Добавлено спустя 11 минут 35 секунд:
    у тебя используется расширение mysqli, но сообщение об ошибке ты пытаешся прочитать через mysql_error() -- без "i".
    надо использовать:
    mysqli_connect_error()
    и
    mysqli_error($db_server)
     
  5. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Разобрался, оказалось такая таблица уже есть.
    Спасибо, я на это обратил внимание.
    В книжке, по которой я учусь, используется mysql и выскакивали многочисленные ошибки. Потом погуглил, и понял что расширение mysql устарел,(хотя это по ошибка в браузере тоже понятно было) и вместо него использовать надо mysqli, а на
    Код (Text):
    1. mysql_error().
    не обратил внимания.

    Добавлено спустя 4 минуты 42 секунды:
    Иправил:
    Сбой при доступе к базе данных: Table 'cats' already exists
    такая ошибка. Теперь все ясно
    Благодарю.
     
  6. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    кстати тебе в копилку: в MySQL есть такая форма CREATE TABLE IF NOT EXISTS, чтобы не было попытки создать заново.
    или вначале вызываешь DROP TABLE IF EXISTS, а следующим запросом CREATE TABLE, тогда гарантированно таблица обновится. при этом не возникнет ошибки.
     
  7. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    artoodetoo, это проделывал через командную строку, а через PHP по книжке до них не дошел.
    Спасибо).