Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP] PDO zliczanie wierszów
Forum PHP.pl > Forum > Przedszkole
mizii
Stwierdzilem iż pora przejsc na PDO i ucząc się PDO mam problem taki:

przy rejestracji sprawdzam w bazie czy istnieje juz uzytkownik i mam tu problem jak zrobic zapytanie by zwrocil mi liczbe wierszy z takim nickiem, probowalem to zrobic tak:

  1. $sql = "SELECT count(*) FROM uzytkownik WHERE nick = '$nick'";
  2. $result = $con->prepare($sql);
  3. $result->execute();
  4. $number_of_rows = $result->fetchColumn();
  5. echo $number_of_rows;


probowalem tez cos w ten desen

  1. $query= "SELECT * FROM uzytkownik WHERE nick = '".$nick;
  2. $uzytkownikistnieje = $baza -> query($query);
  3. $uzytkownikistnieje -> closeCursor();


ale za bardzo nie wiem co dalej z tym zrobic...

szczerze pdo wydaje mi sie jakos mniej intuicyjne niz klasyczne mysql_query
pozdrawiam Mizii
nospor
Drugi kod ma bledne zapytanie wiec nie bedzie dzialac.
PIerwsze jest ok. W czym problem? Sprawdzales dokladnie co zwraca kazda linijka kodu?

facepalmxd.gif
tak ciezko bylo od razu napisac te bledy?

edit: no i skasowal post do ktorego sie to odnosilo
mizii
dzieki, problem rozwiazany, nie zwrocilem uwagi na pierwszy blad tylko drugi, a w pierwszym jak byk bylo ze nieznana nazwa zmiennej ktora byla wskaznikiem na baze

jeszcze jedno pytanie szybkie w temacie, a czy przy zakończeniu tego zapytania przed rozpoczęciem drugiego powinienem zastosowac closeCursor();?
nospor
http://php.net/manual/en/pdostatement.closecursor.php
Cytat
This method is useful for database drivers that do not support executing a PDOStatement object when a previously executed PDOStatement object still has unfetched rows. If your database driver suffers from this limitation, the problem may manifest itself in an out-of-sequence error.

viking
Przede wszystkim jak już używasz prepare to rób to poprawnie. W tym momencie jeżeli nick będzie np z $_POST['nick'] to dalej to zapytanie jest kompletnie niezabezpieczone.
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-2024 Invision Power Services, Inc.