Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Sprawdzenie danych przed dodaniem do MySQL
Forum PHP.pl > Forum > Przedszkole
ghastblood
Witam,

Wyskakuje mi taki błąd
mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...
gdy dodaje zawodnika do bazy danych

  1. <?php
  2. require_once "conn.php";
  3.  
  4. echo "<form acton='index.php' method='POST'>";
  5. echo "Imie: <input type='text' name='imie'><br>";
  6. echo "Nazwisko: <input type='text' name='nazwisko'><br>";
  7. echo "Email: <input type='text' name='email'><br>";
  8. echo "<input type='submit' value='Dodaj'><br>";
  9. if(!empty($_POST["imie"]) && !empty($_POST["nazwisko"]) &&!empty($_POST["email"]) ) { //sprawdza czy wszystkie pola zostaly uzupelnione
  10. if(mysql_num_rows(mysql_query("select * from zawodnik where zawodnik_imie='".htmlspecialchars($_POST["imie"])."', zawodnik_nazwisko='".htmlspecialchars($_POST["nazwisko"])."', zawodni_email='".htmlspecialchars($_POST["email"])."'")) <1) { //sprawdz czy nie istniej juz ktos o takim loginie
  11. mysql_query("INSERT INTO zawodnik VALUES(NULL, '".mysql_real_escape_string(htmlspecialchars($_POST['imie']))."', '".mysql_real_escape_string(htmlspecialchars($_POST['nazwisko']))."', '".mysql_real_escape_string(htmlspecialchars($_POST['email']))."')"); //dodaje uzytkownia do bazy danych
  12. echo "Dodano<br>";
  13. } else echo "zawodnik juz istnieje w bazie<br>";
  14. } else echo "Nie uzupelniono wszystkich pol<br>";
  15. ?>


Wiem że błąd musi być gdzieś w tym kodzie
  1. if(mysql_num_rows(mysql_query("select * from zawodnik where zawodnik_imie='".htmlspecialchars($_POST["imie"])."', zawodnik_nazwisko='".htmlspecialchars($_POST["nazwisko"])."', zawodni_email='".htmlspecialchars($_POST["email"])."'")) <1) { //sprawdz czy nie istniej juz ktos o takim loginie


ale nie potrafię go znaleźć dopiero się uczę.

Pozdrawiam
kapuch
Po kolejnym warunku uzywaj AND (gdy wszystkie warunki maja byc spelnione), lub OR (gdy spelniony ma byc jeden z warunkow), a nie przecinkow winksmiley.jpg
czyli:
  1. if(mysql_num_rows(mysql_query("select * from zawodnik where zawodnik_imie='".htmlspecialchars($_POST["imie"])."' AND zawodnik_nazwisko='".htmlspecialchars($_POST["nazwisko"])."' AND zawodni_email='".htmlspecialchars($_POST["email"])."'")) <1) { //sprawdz czy nie istniej juz ktos o takim loginie

ghastblood
niestety dalej ten sam błąd

mysql_num_rows(): supplied argument is not a valid MySQL result resource in...
erix
Masz taką fajną funkcję zwaną mysql_error, poza tym - Twój skrypt jest dość dziurawy.
ghastblood
a mógł byś powiedzieć jak mogę zastosować funkcję mysql_error, dopiero się uczę i nie wiem jak mógł bym zabezpieczyć ten kod.
erix
Przejrzyj przyklejone wątki, bo było to omawiane dziesiątki razy.
ghastblood
dzięki temat do zamknięcia.
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.