Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Błąd z prepare
Dominator
post
Post #1





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

Ostrzeżenie: (20%)
X----


Dlaczego pojawia mi się taki błąd ?

Fatal error: Call to a member function prepare() on a non-object in ...

  1. function PDOConnect($host, $dbname, $user, $pass)
  2. {
  3. try
  4. {
  5. $dbh = new PDO('mysql:host='.$host.';dbname='.$dbname.'', $user, $pass);
  6. $dbh = null;
  7. }
  8. catch (PDOException $e)
  9. {
  10. print "ERROR =>: ".$e->getMessage();
  11. die();
  12. }
  13. }
  14.  
  15. PDOConnect("localhost", "xxx", "xxx","xxx");
  16.  
  17. $dbh = PDOConnect("localhost", "xxx", "xxx","xxx");
  18. $sth = $dbh->prepare("SELECT xxx FROM xxx");
  19. $sth->execute();
  20. $result = $sth->fetchAll();
  21. print_r($result);


Dodam, że wczoraj rozpocząłem naukę PDO, więc proszę o wyrozumiałość.

Oraz czy ja w bezpieczny sposób wyciągam dane z bazy ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mackos
post
Post #2





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

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


No jeszcze musisz bindować wartości przed execute czyli:
  1. $pdo->query("SELECT * FROM cos WHERE imie=:zmienna_string and wiek=:zmienna_int");
  2. $pdo -> bindValue(":zmienna_string", $zmienna_str, PDO::PARAM_STR);
  3. $pdo -> bindValue(":zmienna_int", $zmienna_int, PDO::PARAM_INT);
  4. $pdo -> execute()


//Edit
Polecam http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO


Ten post edytował Mackos 25.07.2012, 11:56:38
Go to the top of the page
+Quote Post
Dominator
post
Post #3





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

Ostrzeżenie: (20%)
X----


Cytat(Mackos @ 25.07.2012, 12:55:31 ) *
No jeszcze musisz bindować wartości przed execute czyli:
  1. $pdo->query("SELECT * FROM cos WHERE imie=:zmienna_string and wiek=:zmienna_int");
  2. $pdo -> bindValue(":zmienna_string", $zmienna_str, PDO::PARAM_STR);
  3. $pdo -> bindValue(":zmienna_int", $zmienna_int, PDO::PARAM_INT);
  4. $pdo -> execute()


Bardzo dziękuję (IMG:style_emoticons/default/smile.gif)

Wszyscy macie po +

Ten post edytował Dominator 25.07.2012, 11:58:17
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 06:29