Dlaczego poniższe zapytanie nie wyświetla zawartości całej tabeli, tylko jej nagłówek ?

0

Dlaczego poniższe zapytanie wyświetla tylko nagłówek tabeli:

imię nazwisko bez danych wierszy i zawartości tabeli ?



if (!$link)
{
echo 'Błąd: : Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
exit;

}




$wynik = mysqli_query($link,"SELECT * FROM Ksiazki where imię LIKE '%{$_POST['imię']}%' OR nazwisko LIKE '%{$_POST['nazwisko']}%'  ");



while($row = mysqli_fetch_array($wynik))

{

echo " <tr><td>{$row['imię']}</td><td>{$row['nazwisko']}</td></tr> "; 
}

echo '</table>';
mysqli_close($link);

?> 

</body>
</html>



2

Bo korzystasz z gotowego kodu, jakiegoś pseudo programisty php sprzed 10 lat.

No ale niech będzie - żeby zdiagnozować chorobę, trzeba wykluczyć pewne czynnik mogac ją wywoływać, no to Dr Axelbest udziela tele-porady:

  • nie wiemy nic o tym, co kryje sie pod zmienną $link, wiec kod jest ucięty (ale zakładam, że masz tam poprawnie zrobione połączenie z bazą)
  • mieszasz kod HTML z PHP - odseparuj to
  • w bazie danych używasz polskich znaków w nazwach kolumn
  • Twoje zapytanie jest podatne na SQL Injection
  • nie korzystasz PDO - a to sugeruje o tym, o czym napisałem w pierwszym zdaniu. Tzn gdybyś przeszukał nawet to forum w tematach PHP odnoszących się do połączeń z bazą, to zobaczyłbyś, ze najczęściej pierwszą poradą jest "Używaj PDO"
  • robiłeś var_dump'a czy jakkolwiek debugowałeś to jaką wartość ma zmienna $row? (var_dump($row))?

To takie porady na dzień dobry, jak ogarniesz to co wyżej napisałem to przejdziemy do dalszej diagnozy :D ofc, jeśli będziesz miał problem z jakąś poradą/wskazówką wyżej, to napisz o tym, to coś się poradzi.

0

już zrobiłem odpaliło

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