Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z num_rows
Jen
post 25.02.2006, 13:51:58
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.02.2006

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


Witam serdecznie.
Mam problem z policzeniem ilosci zwroconych z bazy rekordow. Ponizej wklejam kawalek kodu:

  1. <?php
  2.  
  3. if (isset($_POST['isbn']))
  4. {
  5.  $polaczenie = new mysqli("$host", "$uzytkownik", "$haslo", "$baza");
  6.  
  7.  $operacja = $polaczenie->query("SELECT * FROM uczelnia_biblioteka_ksiazka WHERE ISBN='".$_POST['isbn']."'");
  8.  
  9. // tu wklejam jedna z dwoch linijek ponizej
  10.  
  11.  $polaczenie->close();
  12. }
  13.  
  14. ?>


Jezeli stosuje:
  1. <?php
  2. $ilosc = $operacja->num_rows;
  3. ?>


Dostaje komunikat:
"Notice: Trying to get property of non-object in <sciezka>"

A jezeli:
  1. <?php
  2. $ilosc = mysqli_num_rows($operacja);
  3. ?>


Dostaje:
"Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in <sciezka>"

Czy ktos moglby mi pomoc w policzeniu ilosc zwracanych wynikow? Jak widac jestem poczatkujaca. Z gory dziekuje za wszelkie sensowne odpowiedzi. Uzywam php 5 i MySQL 5.
Pozdrawiam,
J.
Go to the top of the page
+Quote Post
zeli
post 25.02.2006, 14:02:45
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.02.2006

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


z tego co wiem to:

mysql_affected_rows('nazwa_polaczenia') zwraca ilosc wierszy objetych dzialaniem zapatytania.
Go to the top of the page
+Quote Post
nospor
post 25.02.2006, 14:05:08
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




blednie zalozylas ze udalo ci sie utworzyc obiekt: new mysqli... to ci zwraca false.
http://pl.php.net/manual/en/function.mysqli-connect.php
masz tam przyklad z obslugą bledow. wykonaj go a bedziesz wiedzial co masz źle


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Jen
post 25.02.2006, 14:20:39
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.02.2006

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


Cytat(nospor @ 2006-02-25 15:05:08)
blednie zalozylas ze udalo ci sie utworzyc obiekt: new mysqli... to ci zwraca false.

Nie, polaczenie chyba nie zwraca mi false. W skrypcie uwzglednilam wypisywanie bledu jezeli polaczenie byloby trefne. Podajac kod w pierwszym poscie nie chcialam go zasmiecac, wiec pominelam sprawdzanie polaczenia.
Jeszcze raz wkleje tym razem caly:

  1. <?php
  2.  
  3. require_once("../config.php");
  4.  
  5. if (isset($_POST['isbn'])) 
  6. {
  7.  
  8. $polaczenie = new mysqli("$host", "$uzytkownik", "$haslo", "$baza");
  9.  
  10. if (mysqli_connect_errno()) {
  11.  printf("Connect failed: %s\n", mysqli_connect_error());
  12.  exit();
  13. }
  14.  
  15. $operacja = $polaczenie->query("SELECT * FROM uczelnia_biblioteka_ksiazka WHERE ISBN='".$_POST['isbn']."'");
  16.  
  17. $ilosc = $operacja->num_rows; 
  18.  
  19. $polaczenie->close();
  20.  
  21.  
  22. }
  23. ?>


W pliku config.php przechowywane sa dane do bazy (host, uzytkownik, haslo, nazwa bazy) i na pewno sa z niego dobrze czytane, bo bez problemu mozna je wypisac.

Czy mozliwe, ze problem jakims cudem tkwi w konfiguracji php? Mam raczej wszedzie domyslne ustawienia.

Ten post edytował Jen 25.02.2006, 14:21:55
Go to the top of the page
+Quote Post
nospor
post 25.02.2006, 14:40:38
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




przepraszam, za szybko czytalem. Zapytanie nie zwraca ci wyniku, lecz false.
Daj tak:
  1. <?php
  2. $operacja = $polaczenie->query("SELECT * FROM uczelnia_biblioteka_ksiazka WHERE ISBN='".$_POST['isbn']."'");
  3. if (!$operacja){
  4. echo $polaczenie->error;
  5. }
  6.  
  7. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Jen
post 25.02.2006, 15:21:45
Post #6





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.02.2006

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


Wielkie dzieki! W bledzie pojawil sie komunikat, ze zastosowany uzytkownik nie ma uprawnien dostepu. Zmienilam na roota i smiga. Przejrze prawa dostepu dla tego uzytkownika, ktorego uzywalam wczesniej. Nie domyslilabym sie, ze problem moze tkwic w uprawnieniach. Thx raz jeszcze.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 23:25