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

Работа с БД , MySqli

Тема в разделе "PHP для новичков", создана пользователем Evgen8, 25 сен 2012.

  1. Evgen8

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

    С нами с:
    8 июл 2012
    Сообщения:
    14
    Симпатии:
    0
    Начинаю работать с MySqli....
    Код (Text):
    1.  
    2. <?php
    3. $link = mysqli_connect('localhost', 'kela_4', '**********', 'kela_4') or die("Ошибка подключеня к БД.");
    4. $result =  mysqli_query($link, 'INSERT INTO `panel`(`id`, `name`, `key`) VALUES (1, "LOL2", "309844886b8fa28467dc9277e7c07777")') or die("Ошибка отправки запроса к БД.");
    5. mysqli_free_result($result);
    6. mysqli_close($link);
    7. if($link AND $result == TRUE)echo "Подключение и запрос к Базе Данных успешно завершены!";
    8. ?>
    Код срабатывает , но есть предупреждение:
    Warning: mysqli_free_result() expects parameter 1 to be mysqli_result, boolean given in /home/kela/mc-diamond.ru/tests.php on line 4
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Ошибки научитесь читать, прежде, чем тему создавать.
    И документацию функции mysqli_free_result прочитайте.
     
  3. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    вот ты ворчун
     
  4. malina95

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

    С нами с:
    6 окт 2012
    Сообщения:
    4
    Симпатии:
    0
    Я не знаю как ты так тупо делаешь?

    Я например делаю так
    Код (Text):
    1.  
    2. $mysqli = new mysqli('localhost', 'kela_4', '**********', 'kela_4') or die("Ошибка подключеня к БД.");
    3. $result =  $mysqli->query('INSERT INTO `panel`(`id`, `name`, `key`) VALUES (1, "LOL2", "309844886b8fa28467dc9277e7c07777")') or die("Ошибка отправки запроса к БД.");
    4. $result->close();
    5. $mysqli->close();
    Разницу видешь?
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а зачем вы их закрываете вечно?
     
  6. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    После выполнения запроса INSERT результат освобождать не нужно, поскольку это просто true (запрос выполнился нормально) или false (запрос выполнился с ошибкой). Освободить результат нужно только после запросов SELECT, SHOW, DESCRIBE или EXPLAIN. См. документацию по mysqli_query
     
  7. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    зачем вобще их освобождать?
     
  8. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Чтобы ещё занять процессорное время, очевидно. Ну или с расчетом, что будет ещё пара десятков объемных запросов, из-за которых превысится лимит ресурсов.