Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL]Dodawanie rekordow do bazy
Suule
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 11.01.2009

Ostrzeżenie: (0%)
-----


Witam, mam oto taki skrypcik:
  1. <?php
  2. mysql_connect("localhost", "root", "krasnal") or
  3.       die ("Nie mozna polaczyc sie z mysql");
  4.       mysql_select_db("ksiazka") or
  5.       die ("nie mozna polaczyc sie z baza ksiazka");
  6.      
  7.       if ($POST_['co'] == 'dodaj') {
  8.         if ($_POST['imie'] && $_POST['nazwisko'] && $_POST['waga']) {
  9.         $query = "INSERT INTO osoby (imie, nazwisko, ";
  10.         $query .= "waga) VALUES ('".$_POST['imie']."', '".$_POST['nazwisko']."', '".$_POST['waga']."');";
  11.         $wynik = mysql_query($query);
  12. }
  13.       }
  14.      
  15.       $wynik = mysql_query("SELECT * FROM osoby;") or
  16.       die ("nie mozna polaczyc sie z tabela osoby");
  17.       echo '<table cellpadding=5 border=1>';
  18.       echo'<tr><td>Imie:</td> <td>Nazwisko:</td>';
  19.       echo'<td>waga:</td></tr>';
  20.      
  21.       while($rekord=mysql_fetch_assoc($wynik)) {
  22.         $nr=$rekord['nr'];
  23.         $imie=$rekord['imie'];
  24.         $nazwisko=$rekord['nazwisko'];
  25.         $waga=$rekord['waga'];
  26.    
  27.       echo '<tr><td>'.$imie.'</td><td>'.$nazwisko.'</td>';
  28.       echo '<td>'.$waga.'</td></tr>';
  29.       }
  30.       echo '</table>';
  31.       echo '<Form method="post"> Nowy rekord: ';
  32.       echo '<input type="hidden" name="co" value="dodaj">';
  33.       echo '<table><tr><td>Imie: <input type="text" name="imie"></td>';
  34.       echo '<td>nazwisko: <input type="text" name="nazwisko"></td>';
  35.       echo '<td>waga: <input type="text" name="waga"></td></tr></table>';
  36.       echo '<input type="submit" value="dodaj"></form>';
  37. ?>


Skrypt wyswietla i dodaje (powinien) rekordy z/do bazy danych ktora wczesniej stworzylem w PMA.
Jednak problem w tym iz nie dodaje, nie wyswietla mi sie zaden blad... poprostu po wcisnieciu przycisku odswieza mi sie strona nie dodajac rekordu... Prosilbym o sprawdzenie poprawnosci kodu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
--ghost--
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 1
Dołączył: 14.01.2009

Ostrzeżenie: (0%)
-----


Witam.

1)
  1. <?php
  2. $wykonaj=mysql_query($zawartosc);
  3. ?>


W manualu pisze iż funkcja mysql_query() służy do wysyłania zapytań do aktywnej bazy danych i zwróci w Twoim przypadku identyfikator wyniku, (lub FALSE w przypadku niepowodzenia) a nie wynik zapytania.

2) W tym przypadku, do sprawdzenia czy użytkownik podał właściwą nazwę, można wykorzystać funkcję mysql_num_rows() która jak pisze w manualu zwraca liczbę wierszy w wyniku. Więc można zastosować:

  1. <?php
  2. IF ($_POST['nazwa']) {                                             //sprawdzam czy zostalo cos wpisane w formularz
  3.           $zawartosc="SELECT nazwa FROM osoby WHERE nazwa=".$_POST['nazwa']."";
  4.           $wykonaj=mysql_query($zawartosc);
  5.                                                                             // kreuje zapytanie do mysql czy istnienie taki rekord w bazie danych
  6.          $ilosc_wierszy = mysql_num_rows($wykonaj);      // jeśli w bazie istnieje taki użytkownik zwróci 1 jeśli nie zwróci 0
  7.  
  8.           IF ($ilosc_wierszy > 0)
  9.             echo "zalogowales sie!";
  10.            else
  11.             echo "nie powiodlo sie";                                 // jezeli tak to wyswietla mi "zalogowales sie", jezeli nie "nie powiodlo sie"
  12. ?>


Pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 13:48