За последние 24 часа нас посетили 20148 программистов и 1006 роботов. Сейчас ищут 380 программистов ...

Как правильно обернуть код в функцию?

Тема в разделе "PHP для новичков", создана пользователем truchak, 26 янв 2020.

  1. truchak

    truchak Новичок

    С нами с:
    22 янв 2020
    Сообщения:
    5
    Симпатии:
    0
    При оборачивании работающего кода в функцию выдаёт ошибку

    Uncaught Error: Call to a member function query() on null in C:\OSPanel\domains\test\d.php:28

    здесь это 3 строка

    Код (Text):
    1. function output(){
    2. $q="SELECT*FROM Products";
    3. $result=$conn->query($q);                      
    4.  
    5. $rows=$result->num_rows;
    6.  
    7. echo "<table><tr><th>ID</th><th>Название</th><th>Цена</th><th>статья</th><th>кол-во</th><th>дата</th><th>скрыть</th></tr>";
    8.  
    9. for ($j = 0; $j < $rows; ++$j)
    10. {$result->data_seek($j);
    11. $row=$result->fetch_array(MYSQLI_NUM);
    12. echo "<tr>";
    13. for($k=0;$k<7;++$k) echo "<td>$row[$k]</td>";
    14. echo"<tr>";}
    15. echo "</table>";}
    16.  
    17. output();
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    почитайте про видимость переменных в функциях, про параметры - которые можно передавать в функции
     
  3. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    $conn внутри функции не определён, а значит равен null. Надо найти способ его в функцию доставить. Варианты:
    - передавать как параметр
    - использовать global (фу!)
    - получать из некоего реестра
    --- Добавлено ---
    https://www.php.net/manual/ru/language.variables.scope.php
     
  4. truchak

    truchak Новичок

    С нами с:
    22 янв 2020
    Сообщения:
    5
    Симпатии:
    0
    Спасибо