Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Sprawdzenie czy user istnieje w PDO
adolf1945
post 8.08.2011, 09:45:50
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 7.05.2010

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


Witam. Napisałem taką funkcję używając rozszerzenia mysql.
Chciałbym napisać to w PDO Jak to powinno wyglądać?
mysql
Kod
public function user_exists()
  {
    mysql_connect("localhost","root","") or die(mysql_error());
    mysql_select_db("oop") or die (mysql_error());

    $data = mysql_query("SELECT ID FROM users WHERE username =     
'{$this->username}'");

    return mysql_num_rows($data)? 1 : 0;
  }

PDO
Kod
<?php
public function user_exists(){
$dsn = 'mysql:dbname=oop;host=localhost;';
$user = 'root';
$password = '';

try {
    $pdo = new PDO($dsn, $user, $password);
      
}
catch (PDOException $e)
{
    echo 'Proba nawiazanie polaczenia zakonczyla sie niepowodzeniem:     
';
    $e->getMessage();
}

$result = $pdo->query(SELECT ID FROM users WHERE username =     
'{$this->username}');
}

Jak zapisać ten fragment niestety nie wiem:

Kod
return mysql_num_rows($data)? 1 : 0;

Go to the top of the page
+Quote Post
bastard13
post 8.08.2011, 09:51:45
Post #2





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


z php.net:
Cytat
PDO::query() returns a PDOStatement object, or FALSE on failure.

oraz:
http://www.php.net/manual/en/pdostatement.rowcount.php
i z tego masz:
  1. return $result === false ? 0 : ($result->rowCount ? 1 : 0);

pierwsze jest po to, aby sprawdzić, czy nie było żadnego faila.


--------------------
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: 12.06.2025 - 23:06