Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z num_rows
Loped
post
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 9.04.2009

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


Mam pewien skrypt do prywatnych wiadomości. Przerabiam go co nieco i mam problem z "num_rows".

  1. <?php
  2. $lacz = lacz_bd();
  3.  
  4.  
  5. $nazwa_uz = htmlspecialchars($_SESSION['prawid_uz']);
  6.  
  7.  
  8.  
  9. $sql1 = "SELECT * FROM uzytkownik WHERE nazwa_uz='$nazwa_uz'";
  10. $mysql1 = $lacz->query($sql1);
  11. $rekord = $mysql1->fetch_array();
  12. $licz1 = $mysql1->num_rows($rekord);
  13. ?>


w zmiennej $lacz jest funkcja do łaczenia się z bazą. Wywala mi errora na lini 17, a tą linią jest:

  1. <?php
  2. $licz1 = $mysql1->num_rows($rekord);
  3. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




jeśli to oop to daj
$lacz =new lacz_bd();

$rekord = $mysql1->fetch_array();

nie przyjmuje arg

w num rows daj $mysql1

i nie $mysql1->num_rows tylko $lacz->num_rows

Ten post edytował Spawnm 27.04.2009, 18:32:45
Go to the top of the page
+Quote Post
Fifi209
post
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Pokaż resztę kodu (jak łączysz się z bazą)

Ale jak na moje oko to po prostu $mysql1 nie jest obiektem


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
piotrooo89
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




wydajność spada na 0. poczytaj o COUNT.


--------------------
Go to the top of the page
+Quote Post
Loped
post
Post #5





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 9.04.2009

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


Funkcja lacz_bd();

  1. <?php
  2. function lacz_bd()
  3. {
  4.   $wynik = new mysqli('***', '***', '***', '***');
  5.   if (!$wynik)
  6.      throw new Exception('Połączenie z serwerem bazy danych nie powiodło się');
  7.   else
  8.      return $wynik;
  9. }
  10. ?>


Dałem:
  1. <?php
  2. $sql1 = "SELECT COUNT(*) FROM uzytkownik WHERE nazwa_uz='$nazwa_uz'";
  3. ?>
lecz nie pomogło. Jak zmienna $rekord powinna wyglądać? skoro
  1. <?php
  2. $rekord = $mysql1->fetch_array();
  3. ?>
nie przyjmuje arg
Go to the top of the page
+Quote Post
Fifi209
post
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


fetch_array wykona się na ostatnim selecie ;p (z tego co pamiętam)

P.S. Jak rzucasz wyjątkami to je "łap" bo potem php będzie pluło błędami.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Loped
post
Post #7





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 9.04.2009

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


Moze wytłumaczysz mi jak mam je "łapać"? Jestem zielony w te klocki ;P
Go to the top of the page
+Quote Post
Spawnm
post
Post #8





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




poczytaj
Go to the top of the page
+Quote Post
nieraczek
post
Post #9





Grupa: Zarejestrowani
Postów: 405
Pomógł: 6
Dołączył: 12.01.2007

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


A może po prostu:
  1. <?php
  2. $licz1 = $mysql1->num_rows;
  3. ?>


Ten post edytował nieraczek 27.04.2009, 19:58:18
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 Aktualny czas: 19.08.2025 - 23:02