За последние 24 часа нас посетили 16188 программистов и 1668 роботов. Сейчас ищут 865 программистов ...

Видимость переменных

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

  1. kos20

    kos20 Новичок

    С нами с:
    9 янв 2015
    Сообщения:
    21
    Симпатии:
    0
    Всем привет!
    Хочу вот что сделать: нужно из одной функции connection (возвращает выбранную БД) передать результат в другую select (возвращает результат запроса)
    связать, к сожалению не получается все в единое

    Код (PHP):
    1. <?php
    2. require_once('login.php');
    3. // OUT 3 last of list
    4. function connection()
    5. {
    6. global $db_host, $db_username, $db_password, $db_datebase;
    7. global $prodtype, $result;
    8. if (!isset($db_host, $db_username, $db_password, $db_datebase)){
    9.     die("Переменные не найдены! <br />");
    10. }
    11.  
    12. $mysqli = new mysqli($db_host, $db_username, $db_password, $db_datebase);
    13. if ($mysqli->connect_errno) {
    14.     echo "<br />Не удалось подключиться к MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    15.    }
    16.    // echo "<br /> Соединение установлено: ". $mysqli->host_info . "\n";
    17.   
    18.   /* изменение набора символов на utf8 */
    19. if (!$mysqli->set_charset("utf8")) {
    20.     printf("Ошибка при загрузке набора символов utf8: %s\n", $mysqli->error);
    21. } else {
    22.    // printf("Текущий набор символов: %s\n", $mysqli->character_set_name());
    23. }
    24.  
    25. $result=$mysqli->select_db("test");
    26. if(!$result){
    27.     die("Не удалось выбрать БД");
    28. }
    29. else return $result;
    30. }
    31.  
    32.  
    33. //Функция возвращает 3 последние записи из списка
    34. function returnlastrecords(&$result)
    35. { 
    36.   if (!$result) exit;
    37. $query="SELECT * FROM `t_prodtype` where `id_prodtype`>(SELECT max(`id_prodtype`)-3 FROM `t_prodtype`)";
    38.  
    39. if ($result = $mysqli->query($query)) {
    40.       return $result;
    41.      }
    42. }
    43. ?>
    Может кто подскажет где ошибка.
    ps: сразу другой вопрос: мой проект предполагает выполнение различных запросов, как оптимизировать процесс подключения к БД, неужели каждый раз нужно повторять один и тот же код??
    (предполагаю, что можно упростить через функции, но пока не получается)...
     
  2. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    В том, что надо доки к функциям читать. mysqli::select_db возвращает true или false, а потому вам return надо делать объекта $mysqli