Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Problem z odczytem z bazy danych i dziwne komunikaty na stronie
Forum PHP.pl > Forum > Przedszkole
martinstw78
Witam,
Mam problem z odczytem zawartości bazy danych na stronie i mam tez dziwne komunikaty.

jedne plik baza_portal_artyk.php, ma zawartość:

  1. <?php
  2.  
  3. $host_serwer= "localhost"; //nazwa komputera, na którym działa MySQL
  4. $uzytkownik_admin = "6666"; //nazwa użytkownika bazy danych
  5. $haslo_do_bazy = "haslo"; //hasło do bazy danych
  6. $nazwa_bazy_danych = "6666"; // nazwa bazyd danych, taka sama jak anzwa użytkownika*/
  7.  
  8. //nawiazanie połączenia z serwerem MySQL
  9. $polaczenie = mysqli_connect($host_serwer, $uzytkownik_admin, $haslo_do_bazy)
  10. // w przypadku niepowodznia w wyborze serwera wyświetlany jest komunikat
  11. or die("Nie można połączyć się z serwerem MySQL!");
  12.  
  13. // nawiązujemy połączenie z bazą danych
  14. $baza_danych = mysqli_select_db($polaczenie, $nazwa_bazy_danych)
  15. // w przypadku niepowodzenia w wyborze wyświetlany jest komunikat
  16. or die("Nie można połączyć się z bazą danych!");
  17.  
  18. $kodowanie=mysqli_query($polaczenie, "SET NAMES utf8 COLLATE utf8_general_ci");//pokazywanie na stronie www polskich znaków <?php echo iconv(’’, ‘ISO-8859-2’, $krzaki);
  19.  
  20. $wynik= mysqli_query($polaczenie, "SELECT * FROM 'artykuly'")
  21. or die ("Błąd w zapytaniu do bazy danych i z odczytem danych z bazy danych!");
  22.  
  23. mysqli_free_result($wynik); // Usuwamy z pamięci wynik zapytania
  24.  
  25. mysqli_close($polaczenie); //zamknięcie bazy danych
  26.  
  27. ?>


drugi plik wykaz_artykulow.php ma następująca składnię:

  1. <?php
  2.  
  3. include("poczatek_str.php");
  4.  
  5.  
  6. include ("baza_portal_artyk.php");
  7.  
  8.  
  9.  
  10.  
  11. //jesli otrzymalismy informacje ktora strone mamy otworzyc to wykonujemy dzialanie matematyczne obliczajace,ktory wpis chcemy zobaczyc
  12.  
  13. if(isset($_GET['strona_artykulow'])==true)
  14. $strona=(($_GET['strona_artykulow']-1)*7);
  15. else
  16. $strona=0;
  17.  
  18. //pobranie wszystkich artykulow i wyświetlanie ich na stronie
  19.  
  20.  
  21.  
  22.  
  23. $wyniki_artykulow=mysqli_query("SELECT * FROM artykuly ORDER BY id_artykulu ASC LIMIT $strona,7");
  24.  
  25.  
  26.  
  27. echo "<div id='artykuly'>";
  28.  
  29. echo "<table class='tabela_artykuly'>";
  30. echo "<tr>";
  31. echo "<th colspan='7' class='tytul_wykaz_artykulow'>Wykaz artykułów</th>";
  32. echo "</tr>";
  33.  
  34. echo "<tr>";
  35.  
  36. if(isset($_SESSION['admin_zalogowany'])==true)
  37. {
  38. echo "<th class='tab_usun'>Usuń</th>";
  39. }
  40.  
  41. echo "<th class='tab_lp'>Lp</th>";
  42. echo "<th class='tab_tytul_artykulu'>Tytuł artykułu:</th>";
  43. echo "<th class='tab_autor_art'>Autor/rzy artykułu:</th>";
  44. echo "<th class='tab_rok_pub'>Rok publikacji:</th>";
  45. echo "<th class='tab_roz_typ_pliku'>Typ i rozmiar pliku</th>";
  46.  
  47. if(isset($_SESSION['admin_zalogowany'])==true)
  48. {
  49. echo "<th class='tab_edytuj'>Edytuj</th>";
  50. }
  51.  
  52. echo "</tr>";
  53.  
  54.  
  55. while($jeden_artykul=mysqli_fetch_assoc($wyniki_artykulow))
  56. {
  57. echo "<tr>";
  58.  
  59. if(isset($_SESSION['admin_zalogowany'])==true)
  60. {
  61. echo "<td class='td_usun'><a href='usun_artykul.php?id_artykulu={$jeden_artykul['id_artykulu']}'><input type='button' value='Usuń'></a></td>";
  62. }
  63.  
  64. echo "<td class='td_lp'>{$jeden_artykul['id_artykulu']}</td>";
  65. echo "<td class='td_tytul_art'><a href='pokaz_szczegoly_artykulu.php?id_artykulu={$jeden_artykul['id_artykulu']}' class='td_link_tytul'>{$jeden_artykul['tytul_artykulu']}</a></td>";
  66. echo "<td class='td_autor_art'><span class='td_napis_autor'>{$jeden_artykul['autorzy_artykulu']}</span></td>";
  67. echo "<td class='td_data_pub'>";
  68.  
  69. echo $jeden_artykul['data_publikacji'];
  70. echo "</td>";
  71. echo "<td class='td_nazwa_pdf'>";
  72.  
  73. $nazwa_pliku=$jeden_artykul['id_artykulu'].".pdf";
  74.  
  75. if(file_exists('upload/'.$nazwa_pliku))
  76. $rozmiar=ceil(filesize('upload/'.$nazwa_pliku) /1024); // Zmienia rozmiar pliku na kB
  77. else
  78. $rozmiar=0;
  79.  
  80.  
  81. echo "<p class='p_rozszerzenie_pdf'><a href='upload/{$nazwa_pliku}'><img src='znaczek_pdf.gif' alt='artykuły' class='obrazek_pdf'></a> | <span class='rozmiar_pliku'> $rozmiar [kB]</span></p>";
  82.  
  83.  
  84. echo "</td>";
  85.  
  86. if(isset($_SESSION['admin_zalogowany'])==true)
  87. {
  88. echo "<td class='td_edytuj'><a href='form_edycji_artykulu.php?id_artykulu={$jeden_artykul['id_artykulu']}'><input type='button' value='Edytuj'></a></td>";
  89. }
  90.  
  91.  
  92.  
  93.  
  94. echo "</tr>";
  95.  
  96. }
  97.  
  98. echo "</table>";
  99.  
  100.  
  101.  
  102.  
  103.  
  104. echo "</div>";
  105.  
  106. echo "<div id='przyciski_strony_artykulow'>";
  107.  
  108. if(isset($_SESSION['admin_zalogowany'])==true)
  109. {
  110. echo "<p class='p_dodaj_art'><a href='form_dodania_artykulu.php?id_artykulu={$jeden_artykul['id_artykulu']}' class='przycisk_dodaj_art'><input type='button' value='Dodaj artykuł'></a>";
  111. echo "<a href='lista_artykulow.pdf' class='przycisk_zapisz_pdf'><input type='button' value='Wykaz artykułów w PDF'></a></p";
  112. }
  113. else
  114. {
  115. echo "<p class='p_dodaj_art'><a href='lista_artykulow.pdf' class='przycisk_zapisz_art_2'><input type='button' value='Wykaz artykułów w PDF'></a></p>";
  116. }
  117.  
  118.  
  119.  
  120. //stronicowanie
  121.  
  122. //zapytanie ktore liczy nam ile jest artykulów
  123. $wynik1=mysqli_query("SELECT count(*) as ilosc FROM artykuly");
  124.  
  125. $artykuly=mysqli_fetch_assoc($wynik);
  126.  
  127. echo "<br><p class='p_napis_artykulow'><span>Artykułów</span><span class='liczba_artykulow'>( {$artykuly['ilosc']} )</span>";
  128.  
  129. $liczba_stron=ceil($artykuly['ilosc']/7); //liczba artykułów i zaokraglac w gore-ceil (floor-zaokraglenie w dol)
  130.  
  131. echo "<span class='stronicowanie'>";
  132.  
  133. $licznik=1;
  134.  
  135. while($licznik<=$liczba_stron) //wyswietli tyle razy ile mamy liczbe stron
  136. {
  137. echo "<span class='linki_stronicowanie_art'> <a href='wykaz_artykulow.php?strona_artykulow=$licznik#artykuly' class='link_nr_str_art'>$licznik</a></span>";//numery grup artykulow, #artykuly- na koncu linku przenosi nam w miejsce wystapienia diva (div artykuly), i trzeba objac wszystkie artykuly w divach
  138.  
  139. $licznik++;
  140. }
  141.  
  142. echo "</span></p>";
  143.  
  144. echo "</div>";
  145.  
  146. include("koniec_strony.php");
  147.  
  148. ?>


Widać na stronie tylko fragment tabelki z napisami: Wykaz artykulów i od Lp po typ i rozmair pliku.

Dodatkowo mam następujące błędy:

Cytat
Warning: mysqli_query() expects at least 2 parameters, 1 given in /wykaz_artykulow.php on line 23

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /wykaz_artykulow.php on line 55

Warning: mysqli_query() expects at least 2 parameters, 1 given in /wykaz_artykulow.php on line 123

Warning: PHP Startup: Couldn't fetch mysqli_result in /wykaz_artykulow.php on line 125


czyli coś jest nie tak z kodami jak poniżej:
- w linijce 23:
  1. $wyniki_artykulow=mysqli_query("SELECT * FROM artykuly ORDER BY id_artykulu ASC LIMIT $strona,7");
  2.  


- w linijce 55:

  1. while($jeden_artykul=mysqli_fetch_assoc($wyniki_artykulow))


- w linijce 123:

  1. $wynik1=mysqli_query("SELECT count(*) as ilosc FROM artykuly");


- i w linijce 125:
  1. $artykuly=mysqli_fetch_assoc($wynik);


- w bazie danych mam ustawione na UTF8 bez bom, a na początku strony mam utf8.

Prosiłbym o pomoc co jakie błędy zrobiłem w kodzie PHP i jak je poprawić, żeby nie było tych komunikatów o błędach w php oraz żeby na stronie była wyświetlana zawartość bazy danych artykuly i działały skrypty liczące liczbę artykułów oraz żeby działały pozostałe kody bo nie wiem.

Powprowadzałem mysqli i przestał mi działać, zmieniłem tez serwer z nazwy na home.

Prosiłbym o pomoc jesli możecie:) Ja nie wiem jak to poprawić.

Pozdrawiam,
martinstw78
sazian
Funkcja mysqli_query przyjmuje dwa parametry, pierwszy parametr to uchwyt połączenia, a drugi to zapytanie.
Ty podajesz tylko zapytanie, o czym jasno mówi komunikat błędu - oczekiwano dwóch parametrów, otrzymano jeden.
Błąd na mysqli_fetch_assoc występuje wtórnie ponieważ wystąpił błąd na mysqli_query.
mmmmmmm
Co do Warningów, to powinieneś używać mysqli_query, tyak jak masz w baza_portal_artyk.php w np. linii 20:
  1. $wynik= mysqli_query($polaczenie, "SELECT * FROM 'artykuly'");

Czyli jako pierwszy parametr dajesz połączenie do bazy. Inaczej domyślnie PHP weźmie ostatnio utworzone.

Co do błędu w linii 125, to wydaje mi się, że powinno być:
  1. $artykuly=mysqli_fetch_assoc($wynik1);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.