Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PDO][MySQL 5] Czy PDO współpracuje z MySQL 5?
Martio
post
Post #1





Grupa: Zablokowani
Postów: 167
Pomógł: 2
Dołączył: 15.02.2004

Ostrzeżenie: (30%)
XX---


Czy PDO współpracuje z MySQL 5? W manualu można przeczytać: "PDO_MYSQL is a driver that implements the php Data Objects (PDO) interface to enable access from php to MySQL 3.x and 4.x databases".

Mam serwer na ForAll i poniższy skrypt:

  1. <?php
  2. $db = new PDO('mysql:dbname=xxxxx; host=mysql.forall.pl', 'xxxxx', 'xxxxxxx');
  3. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  4. $db->exec('SET NAMES "utf8"');
  5.  
  6. try {
  7. $stmt = $db->prepare('SELECT * FROM partner ORDER BY RAND() LIMIT 4');
  8. $stmt->execute();
  9. $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
  10. } catch (PDOException $e) {
  11. echo $e->getMessage();
  12. }
  13. ?>


i wyświetla mi się następujący komunikat: "SQLSTATE[HY000]: General error: 2036". Zresztą na każdym SELEC-ie wyskakuje ten błąd.

Ten post edytował Martio 3.09.2006, 07:39:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
MMP
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 2.06.2006

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


Query zamiast prepare.
Go to the top of the page
+Quote Post
z3L
post
Post #3





Grupa: Zarejestrowani
Postów: 54
Pomógł: 4
Dołączył: 22.08.2006

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


Tak współpracuje.


--------------------
...
Go to the top of the page
+Quote Post
eai
post
Post #4





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

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


też miałem taki błąd, ale powodem była kolumna, pole typu decimal(3,2) jak zmieniłem na float błąd zniknął. Nie wiem od czego to zależy bo na localu miałem ok, a problem wystąpił na nazwa.pl
Go to the top of the page
+Quote Post
specialplan
post
Post #5





Grupa: Zarejestrowani
Postów: 206
Pomógł: 21
Dołączył: 1.09.2006
Skąd: Edinburgh

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


Na nazwie często miałem General Error. Jest to spowodowane faktem, iż mają skompilowane php 4 i 5 działające obok siebie i PDO głupieje czasem na ich konfiguracji. Raz nawet chcieli mi oddawać pieniądze za serwer, bo stwierdzili, że to ich wina, ale nie mogą zmienić ustawień PHP5, ponieważ serwer nie jest dedykowany i wypłynęłoby to na innych klientów. Znalazłem jednak rozwiązanie:

  1. <?php
  2. $this->sql->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
  3. ?>
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: 20.08.2025 - 05:59