Błąd przy wyciąganiu rekordów z bazy

0

Witam po raz kolejny :|
Chcę z bazy wyciągnąć rekordy, ale nie idzie po mojej myśli...
Wyskakują takie błędy:

Notice:
Undefined variable: conn in funkcje.php on line 6
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in funkcje.php on line 6
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /funkcje.php on line 8
Brak artykułów

Jeśli ktoś wie jak to rozwiązać, a pewnie są takie osoby to proszę o pomoc.

connect.php

$servername = "---";
  $username = "---";
  $password = "---";
  $dbname = "---";

  // Create connection
  $conn = mysqli_connect($servername, $username, $password, $dbname);

  // Check connection
  if (!$conn) {
      die("Connection failed: " . mysqli_connect_error());
  }
  echo "Connected successfully <br />";

funkcja do wyciągnięcia z bazy

include("connect.php");
 
function pokaArt()
  {
    $sql = "SELECT * FROM artykuly";
    $result = mysqli_query($conn, $sql);
//var_dump(mysqli_error($result));
    if(mysqli_num_rows($result) > 0)
    {
      while($row = mysqli_fetch_assoc($result))
      {
        $output .= '<div class="tytul">';
        $output .= '<p class="font-weight-bold text-uppercase ml-0 mb-3 text-center text-md-left">';
        $output .= $row["tytul"];
        $output .= '</p>';
        $output .= '</div>';

        $output .= '<div class="obrazek">';
        $output .= $row["obrazek"];
        $output .= '</div>';

        $output .= '<div class="zajawka">';
        $output .= '<p>';
        $output .= $row["zajawka"];
        $output .= '</p>';
        $output .= '</div>';

        $output .= '<div class="news">';
        $output .= '<p>';
        $output .= $row["news"];
        $output .= '</p>';
        $output .= '</div>';
      }
    }
    else
    {
      echo "Brak artykułów";
    }
  }

  mysqli_close($conn);

no i index

        include("funkcje.php");
        pokaArt();
1

Funkcje nie "łapią" zmiennych globalnych:

$a = 100;

function foo() {
  echo $a; // warn: Undefined variable
}

foo();

Poczytaj o słówku kluczowym global.

0

Masz racje, próbowałem wcześniej z tym i działało (nie napisałem o tym), ale nadal były inne błędy.

Warning: mysqli_query(): Couldn't fetch mysqli in funkcje.php on line 6
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in funkcje.php on line 8
Brak artykułów

edit

okeeey, znalazło się rozwiązanie :v
mysqli_close($conn); był poza funkcją, ale pojawił się następny błąd

Notice: Undefined variable: output in /home/s35525/www/c5/funkcje.php on line 12

I to też rozwiązałem, dodałem $output = ''; przed outputami i finalnie, nic mi nie wyświetla na stronie, żadnych artykułów, a powinno :D

No i znowu edit

Zamiast $output należy dać echo. Eh dlaczego te problemy rozwiązują się dopiero po napisaniu na forum :x
To forum jest jakieś magicznym miejscem ;-) I sorry za zaśmiecenie działu, ale może to komuś pomoże w przyszłości.

1 użytkowników online, w tym zalogowanych: 0, gości: 1