• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

num_rows w PDO ???

Object Storage Arubacloud
0 głosów
956 wizyt
pytanie zadane 21 marca 2017 w PHP przez prymex Obywatel (1,250 p.)

Witam moje pytanie brzmi jak brzmi funkcja num_rows sprawdzająca ilośc rekordów ale w PDO próbowałem 

fetchColumn() oraz rowCount() ale mi nie działają jeżeli ktoś dalej nie wie o co mi chodzi to przykładowo taki przykład : 

 $ile_takich_nickow = $rezultat1->rowCount();

$ile_takich_nickow = $rezultat1->fetchColumn();

$ile_takich_nickow = $rezultat1->num_rows;
komentarz 21 marca 2017 przez obl Maniak (51,280 p.)
No dobra, ale nie wiem, czy $resultat1 jest obiektem powstałym w wyniku wysłania prawidłowego zapytania do bazy danych więc trochę więcej kodu podaj bo ->rowCount() powinno ci działać bezproblemowo.
komentarz 21 marca 2017 przez prymex Obywatel (1,250 p.)
$rezultat1 = $polaczenie->prepare("SELECT ajdi FROM uzytkownicy WHERE login = :login");
				$rezultat1->bindValue( ':login', $login );
				$rezultat1-> Execute();
					
				
				if (!$rezultat1) throw new Exception($polaczenie->error);
				
				$ile_takich_nickow = $rezultat1->rowCount();
				if($ile_takich_nickow>0)
				{
					$wszystko_OK=false;
					$_SESSION['e_login']="Istnieje już gracz o takim loginie!";
				}

 

komentarz 21 marca 2017 przez obl Maniak (51,280 p.)

Sprawdzałem u siebie na mojej bazie danych i działa, wyświetl może co zwraca ci $resultat1->rowCount()

komentarz 21 marca 2017 przez Bosswell Nałogowiec (36,470 p.)

$rezultat1-> Execute();

$rezultat1-> execute();

 

komentarz 21 marca 2017 przez obl Maniak (51,280 p.)
to akurat przejdzie, niezależnie czy z małej napiszesz czy z dużej. Wiem bo sprawdzałem.
komentarz 21 marca 2017 przez efiku Szeryf (75,160 p.)
Nikt jeszcze nie wpadł na to, żeby zajrzeć do dokumentacji do sekcji związanej z PDO?
komentarz 30 października 2017 przez Milesq Nałogowiec (32,020 p.)

przykład

$baza = new mysqli($host,$user,$haslo,$nazwa_bazy);

$wynik = $baza->query($sql);

$ile = $wynik->num_rows;

 

1 odpowiedź

–1 głos
odpowiedź 30 października 2017 przez molik Użytkownik (950 p.)

Cześć!

Mam dokładnie taki sam błąd.

try {
                    include_once 'connect.php';
                    $s = $pdo->prepare('SELECT email, password FROM users WHERE email = :email AND password = :password');
                    $s->bindValue(':email', $_POST['userEmail']);
                    $s->bindValue(':password', SHA1($_POST['userPassword']));
                    $result = $s->execute();
                } catch (PDOException $e) {
                    $alert = new Alert();
                    $alert->showAlert('warning', 'Wystąpił błąd w trakcie pobierania danych logowania do sprawdzenia.');
                }

                if($result->num_rows != 0){
                    $alert = new Alert();
                    $alert->showAlert('success', 'Istnieje taka osoba w Naszej bazie danych.');
                } else {
                    print_r($result);
                    $alert = new Alert();
                    $alert->showAlert('danger', 'Taka osoba nie istnieje w Naszej bazei danych.');
                }

Chodzi w nim o to, że cały czas pokazuje, ze nie ma takiej osoby w bazie, podczas gdy faktycznie istnieje. Pomoże ktoś?

2
komentarz 30 października 2017 przez Bosswell Nałogowiec (36,470 p.)
Nie

$result->num_rows

Tylko

$result-> rowCount()
komentarz 30 października 2017 przez molik Użytkownik (950 p.)
Wyskakuje komentarz:

Fatal error: Call to a membrany function NumCount() on boolean..
1
komentarz 30 października 2017 przez efiku Szeryf (75,160 p.)

Tak jak myślałem, nikt nie raczył zajrzeć do dokumentacji. 
Pff... 
Daleko nie zajdziecie :)

+1 @Bosswell.

http://php.net/manual/en/pdostatement.rowcount.php
Tu jaśniej z naciskiem:

PDOStatement::rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object.

+  
http://php.net/manual/en/pdostatement.execute.php

Return Values 

Returns TRUE on success or FALSE on failure.

Więc po co Ci  liczenie wierszy. 

 

komentarz 30 października 2017 przez Bosswell Nałogowiec (36,470 p.)
Masz rację, nie zaglądałem do dokumentacji tylko w głowię przypomniała mi się ta metoda. A biorąc pod uwagę jej nazwę, intuicja wskazała mi że chodzi o liczbę zwróconych wierszy ;)
komentarz 31 października 2017 przez molik Użytkownik (950 p.)
Dokładnie to jest to.. troszkę to zbagatelizowałem ale już wszystko wiem :) dziękuję za pomoc :)

Podobne pytania

0 głosów
1 odpowiedź 391 wizyt
pytanie zadane 26 lutego 2017 w PHP przez Laxus Początkujący (280 p.)
0 głosów
3 odpowiedzi 94 wizyt
0 głosów
2 odpowiedzi 437 wizyt
pytanie zadane 17 kwietnia 2022 w PHP przez molik Użytkownik (950 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...