Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem z zapytaniem
Forum PHP.pl > Forum > Przedszkole
bolus150
Witam, mam problem z zapytaniem:
  1. <?
  2. include "config.php";
  3. $ins = @mysql_query("SELECT * FORM sub ");
  4.  
  5. if($ins) {echo "Rekord został dodany poprawnie";}
  6. else {echo "Błąd nie udało się dodać nowego rekordu";}
  7.  
  8. while($rek = mysql_fetch_array($ins)) {
  9. echo $rek['nazwa'];
  10. }
  11.  
  12. ?>

a pod takim zapytaniem w innym pliku:
  1. $ins = @mysql_query("INSERT INTO sub SET nazwa='$nazwa', tresc='$tresc'");

działa bez problemu. Pomoże ktoś?
KsaR
  1. if($ins) {echo "Rekord został dodany poprawnie";}
  2. else {echo "Błąd nie udało się dodać nowego rekordu";}
  3.  

Te warunki robisz do pobierania rekordow.

  1. $ins = mysql_query("INSERT INTO `sub` (`nazwa`, `tresc`) VALUES ('$nazwa', '$tresc')");

Poczytaj o SQL Injection/Instrukcjach preparowanych.
// oraz przy okazji o PDO lub mysqli...
W PHP7 nie ma juz mysql_*
bolus150
Ale nie działa wyświetlanie. Działa dodawanie.
Mój plik na wyświetlanie wygląda następująco:

  1. <?
  2. include "config.php";
  3. $ins = @mysql_query("SELECT * FORM sub ");
  4.  
  5. while($rek = mysql_fetch_array($ins)) {
  6. echo $rek['nazwa'];
  7. }
  8.  
  9. ?>
gorden
No to wyśmienicie. Ale może powiedz co się dzieje z tym skryptem? Co zwraca zapytanie, jaki tekst się wyświetla?
Poza tym usuń te @
bolus150
Nic kompletnie. Strona pusta.:/
gorden
Prosto z manuala z drobnymi poprawkami.. jeśli nic Ci się nie wyświetli, to najprawdopodobniej Twoja tabela jest po prostu pusta...

  1. <?php
  2. mysql_connect("localhost", "mysql_user", "mysql_password") or
  3. die("Could not connect: " . mysql_error());
  4.  
  5. $result = mysql_query("SELECT * FORM `sub`") or
  6. die("Niepoprawne zapytanie: " . mysql_error());
  7.  
  8. while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
  9. echo $row['nazwa'] . '<br />';
  10. }
  11.  
  12. ?>
bolus150
Niepoprawne zapytanie: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FORM `sub`' at line 1

wkradł się błąd ale go naprawiłem. jest ok bardzo dziękujęsmile.gif
gorden
no tak, błąd już sam mogłeś zinterpretować:
use near 'FORM `sub`'


FROM
bolus150
Poprawiłem trochę kod, ale nadal problem mam.
oto mój index.php
  1.  
  2. <?php
  3. include "config.php";
  4. $wynik = mysql_query("SELECT * FROM `sub` ORDER BY `id`")
  5. or die('Błąd zapytania');
  6.  
  7.  
  8. if(mysql_num_rows($wynik) > 0) {
  9. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  10. echo "<table cellpadding=\"2\" border=1>";
  11. while($r = mysql_fetch_array($wynik, MYSQL_BOTH)) {
  12. echo "<tr>";
  13. echo "<td>".$r['nazwa']."</td>";
  14. echo "<td>".$r['tresc']."</td>";
  15. echo "<td>
  16. <a href=\"index.php?a=del&amp;id={$r['id']}\">Usuń</a>
  17. <a href=\"index.php?a=edit&amp;id={$r['id']}\">Edytuj</a>
  18. </td>";
  19. echo "</tr>";
  20. }
  21. echo "</table>";
  22. }
  23.  
  24. ?>

A tak wygląda mój del.php
  1.  
  2. <?php
  3. include "cofig.php";
  4.  
  5. $a = trim($_GET['a']);
  6. $id = trim($_GET['id']);
  7.  
  8. if($a == 'del' and !empty($id)) {
  9.  
  10. /* usuwamy rekord */
  11. mysql_query("DELETE FROM test WHERE id='$id'")
  12. or die('Błąd zapytania: '.mysql_error());
  13.  
  14. echo 'Rekord został usunęty z bazy';
  15. }
  16.  
  17. ?>

i edit.php
  1. <?php
  2. include "config.php";
  3.  
  4. $a = trim($_REQUEST['a']);
  5. $id = trim($_GET['id']);
  6.  
  7. if($a == 'edit' and !empty($id)) {
  8. /* zapytanie do tabeli */
  9. $wynik = mysql_query("SELECT * FROM `sub` WHERE
  10. id='$id'")
  11. or die('Błąd zapytania');
  12. /*
  13.   wyświetlamy wyniki, sprawdzamy,
  14.   czy zapytanie zwróciło wartość większą od 0
  15.   */
  16. if(mysql_num_rows($wynik) > 0) {
  17. /* odczytujemy zawartość wiersza z tabeli */
  18. $r = mysql_fetch_assoc($wynik);
  19. /* wczytujemy dane do formularza */
  20. /*
  21.   w formularz znajdują się ukryte pola "a"
  22.   z wartością "save" i pole "id" z wartością
  23.   zmiennej id
  24.   */
  25. echo '<form action="index.php" method="post">
  26. <input type="hidden" name="a" value="save" />
  27. <input type="hidden" name="id" value="'.$id.'" />
  28. nazwa:<br />
  29. <input type="text" name="nazwa"
  30. value="'.$r['nazwa'].'" /><br />
  31. tresc:<br />
  32. <input type="text" name="tresc"
  33. value="'.$r['tresc'].'" /><br />
  34. <input type="submit" value="popraw" />
  35. </form>';
  36. }
  37. }
  38. elseif($a == 'save') {
  39. /* odbieramy zmienne z formularza */
  40. $id = $_POST['id'];
  41. $nazwa = trim($_POST['nazwa']);
  42. $tresc = trim($_POST['tresc']);
  43. /* uaktualniamy tabelę test */
  44. mysql_query("UPDATE test SET nazwa='$nazwa',
  45. tresc='$tresc' WHERE id='$id'")
  46. or die('Błąd zapytania');
  47. echo 'Dane zostały zaktualizowane';
  48. }
  49. ?>


i problem w tym, że jak klikę w usuń lub edytuj to nic się nie dzieje;/
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.