Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Wyciąganie rekordów z bazy
Forum PHP.pl > Forum > Przedszkole
misioqusio
Staram się stworzyć taki ogólnodostępny czat. Na razie programuję PHP.
Teraz przyszedł czas na wyciąganie rekordów z bazy ale nie wiem jak to zrobić. Szukałem w internecie poradników, ale to co pisze na tych stronach nie jest dla mnie zbyt jasne.
Bardzo proszę o odpowiedź jak wyciągnąć z bazy danych nick (kolumna `nazwa`) i wiadomość (kolumna `wiadomosc`).

Kod jeśli jest potrzebny:

INDEX.PHP
  1. <?php
  2. if (isset($_SESSION['log']))
  3. {
  4. header('Location: chat.php');
  5. exit();
  6. }
  7. if (isset($_POST['nick']))
  8. {
  9. $nick = $_POST['nick'];
  10. $_SESSION['chatnick']="$nick";
  11. $ok = true;
  12. if ((strlen($nick) <3) || (strlen($nick) > 24))
  13. {
  14. $ok = false;
  15. $_SESSION['error_nick']="Twoja nazwa powinna zawierać od 3 do 24 znaków";
  16. }
  17. if ($ok==true)
  18. {
  19. $_SESSION['log']=true;
  20. header('Location: chat.php');
  21. }
  22. }
  23. ?>
  24. <!DOCTYPE HTML>
  25. <html lang="pl-PL">
  26. <head>
  27. <meta charset="utf-8">
  28. <link rel="Stylesheet" type="text/css" href="style.css" />
  29. <title>chat</title>
  30. </head>
  31.  
  32. <body>
  33. <div id="header"><i><b><font color="red">~</font> <font color="blue">CHAT</font> <font color="red">~</font></i></b></div>
  34. <div id="inf">Czatuj anonimowo na publicznym czacie! </div>
  35. <div id="page">
  36. <form action="index.php" method="post">
  37. Nazwa:<br />
  38. <input type="text" name="nick" maxlength="24" />
  39. <?php
  40. if (isset($_SESSION['error_nick']))
  41. {
  42. echo '<div class="error">'.$_SESSION['error_nick'].'</div>';
  43. unset($_SESSION['error_nick']);
  44. }
  45. ?>
  46. <br />
  47. <input type="submit" value="START" name="start" />
  48. </form>
  49. </div>
  50. </body>
  51. </html>


CHAT.PHP
  1.  
  2. <?php
  3. if (!isset($_SESSION['log']))
  4. {
  5. header('Location: index.php');
  6. exit();
  7. }
  8. if (isset($_POST['wiadomosc']))
  9. {
  10. $wiadomosc = $_POST['wiadomosc'];
  11. if (strlen($wiadomosc) > 300)
  12. {
  13. header('Location: chat.php');
  14. exit();
  15. }
  16. $chatnick = $_SESSION['chatnick'];
  17. $host = "localhost";
  18. $user = "root";
  19. $password = "";
  20. $name = "chat";
  21. $polaczenie = new mysqli($host, $user, $password, $name);
  22. if($polaczenie->query("INSERT INTO `wiadomosci` (`id`, `nazwa`, `wiadomosc`) VALUES (NULL, '$chatnick', '$wiadomosc')"))
  23. {
  24. $_SESSION['dodanowiadomosc']=true;
  25. ###########################################
  26. }
  27. }
  28.  
  29. ?>
  30. <!DOCTYPE HTML>
  31. <html lang="pl-PL">
  32. <head>
  33. <meta charset="utf-8">
  34. <link rel="Stylesheet" type="text/css" href="style.css" />
  35. <title>chat</title>
  36. </head>
  37.  
  38. <body>
  39. <div id="header"><i><b><font color="red">~</font> <font color="blue">CHAT</font> <font color="red">~</font></i></b></div>
  40. <div id="inf">Czatuj anonimowo na ogólnych lub prywatnych czatach!</div>
  41. <div id="page">
  42. <div class="napis">Czatuj na <font color="Blue"><b>superchacie</b></font>!</div>
  43. <div id="chat">
  44. </div>
  45. <form action="chat.php" method="post">
  46. <input type="text" name="wiadomosc" maxlength="300" placeholder="Twoja wiadomość" /><br />
  47. </form>
  48. <font size="3"><a href="logout.php">Wyloguj się</a></font>
  49. </div>
  50. </body>
  51. </html>
Neutral
http://php.net/manual/en/mysqli-result.fetch-assoc.php

  1. if($result = $polaczenie->query("INSERT INTO `wiadomosci` (`id`, `nazwa`, `wiadomosc`) VALUES (NULL, '$chatnick', '$wiadomosc')")) { // .... }
  2.  
  3. while ($row = $result->fetch_assoc()) {
  4. printf ("%s (%s)\n", $row["nazwa"], $row["wiadomosc"]);
  5. }
misioqusio
Mam kod
  1. $polaczenie = new mysqli($host, $user, $password, $name);
  2. if($polaczenie->query("INSERT INTO `wiadomosci` (`id`, `nazwa`, `wiadomosc`) VALUES (NULL, '$chatnick', '$wiadomosc')"))
  3. {
  4. $_SESSION['dodanowiadomosc']=true;
  5. if($result = $polaczenie->query("INSERT INTO `wiadomosci` (`id`, `nazwa`, `wiadomosc`) VALUES (NULL, '$chatnick', '$wiadomosc')"))
  6. {
  7. while ($row = $result->fetch_assoc())
  8. {
  9. printf ("%s (%s)\n", $row["nazwa"], $row["wiadomosc"]);
  10. }
  11. }
  12. }
  13. }

i nie działa...
Już któryś raz wyskakuje mi ten error

Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\chat.php:27 Stack trace: #0 {main} thrown in C:\xampp\htdocs\chat.php on line 27
nospor
Od kiedy fetch_assoc() wykonuje sie na wyniku INSERT?questionmark.gifquestionmark.gif To pytanie jest do Neutral, ktory to tak pomaga....

@misioqusio a ty dostales linka do manuala to mogles chociaz tam zajrzec a nie bezmyslnie kopiowac kod... W manualu masz podane przyklady jak tego uzywac i masz tam wyraznie podane SELECT by pobrac dane z bazy
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.