Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP][PDO] Problem z mysql_num_rows
Kerth
post
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 1
Dołączył: 6.08.2012

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


Cześć,
mam problem z tym kodem:

  1. $a = mysql_query("SELECT * FROM `gracze` WHERE `nick` = '$nick'");
  2. IF (mysql_num_rows($a) <> 0)
  3. {
  4. echo "Tekst";
  5. RETURN $a;
  6. }


Wyświetla mi się błąd:

  1. Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\WebServ\httpd\dawid\reg\a.php on line 93
  2. No database selected


Tak się łączę z bazą:

  1. <?php
  2. try
  3. {
  4. $db = new PDO('mysql:host=localhost;dbname=xxx', 'xxx', 'xxx',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
  5. }
  6. catch (PDOException $e)
  7. {
  8. print "Błąd połączenia z bazą!: " . $e->getMessage() . "<br/>";
  9. die();
  10. }
  11. ?>


Próbuję przerobić na PDO to zapytanie ale nie wiem czy dobrze:

  1. $a= $db->exec("SELECT * FROM `gracze` WHERE `nick` = '$nick'") OR die(mysql_error());


Może mi ktoś pomóc?

Ten post edytował Kerth 31.08.2013, 15:21:15
Go to the top of the page
+Quote Post
nospor
post
Post #2





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




skoro przerabiasz na PDO to nie mozesz juz uzywac funkcji z rodziny mysql_.....


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

"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
_Borys_
post
Post #3





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


  1. $a= $db->query("SELECT * FROM `gracze` WHERE `nick` = '$nick'");
  2. return $a->fetch();

A wyżej przy mysql_num_rows powinno być
  1. return mysql_fetch_assoc($a);
Go to the top of the page
+Quote Post
Kerth
post
Post #4





Grupa: Zarejestrowani
Postów: 250
Pomógł: 1
Dołączył: 6.08.2012

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


A to jakiej funkcji użyć zamiast mysql_num_rows() ?
Go to the top of the page
+Quote Post
Turson
post
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. $db = new PDO('mysql:host=localhost;dbname=xxx', 'xxx', 'xxx',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
  2. $sql=$db->query("SELECT * FROM `gracze` WHERE `nick` = '$nick'");
  3. $ile=$sql->rowCount(); //$ile - liczba wyników
Go to the top of the page
+Quote Post
Kerth
post
Post #6





Grupa: Zarejestrowani
Postów: 250
Pomógł: 1
Dołączył: 6.08.2012

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


Chyba jeszcze tego nie rozumiem.

  1. $a = $db->query("SELECT * FROM `gracze` WHERE `nick` = '$nick'");
  2. if ($db->rowCount() <> 0)
  3. {
  4. echo "Tekst";
  5. //exit;
  6. return $a;
  7. }


Błąd:

  1. Fatal error: Call to undefined method PDO::rowCount() in C:\WebServ\httpd\dawid\reg\register.php on line 101


Może mi ktoś wytłumaczyć co jest źle?

Ten post edytował Kerth 1.09.2013, 14:39:48
Go to the top of the page
+Quote Post
Turson
post
Post #7





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. if ($db->rowCount() <> 0)

$a->rowCount
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: 22.08.2025 - 06:52