Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PDO] Problem z PDO, Błąd 1064
Ryder
post 13.10.2009, 22:09:59
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 1
Dołączył: 5.01.2008

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


Hej

Mam problem przy wpisywaniu danych do bazy.

  1. $stmt = $pdo -> prepare("INSERT INTO ".$tabela[1]." (:login, pass, email, name, surname) VALUES (:login, :pass, :email, :name, :surname)");
  2.  
  3. $stmt->bindParam(':login', $_POST['login'], PDO::PARAM_STR, 255);
  4. $stmt->bindParam(':pass', sha1($_POST['pass']));
  5. $stmt->bindParam(':email', $_POST['email'], PDO::PARAM_STR, 255);
  6. $stmt->bindParam(':name', $_POST['name'], PDO::PARAM_STR, 255);
  7. $stmt->bindParam(':surname', $_POST['surname'], PDO::PARAM_STR, 255);
  8.  
  9. $stmt -> execute();
  10. print_r($stmt->errorInfo());


Błąd:
( [0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''test1', pass,


Zapewne będzie to problem z cudzysłowami.
Ma ktoś pomył ja go rozwiązać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 13.10.2009, 22:16:48
Post #2





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




za pierwszym razem nie :login a login


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

"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
jmail
post 13.10.2009, 22:17:10
Post #3





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

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


zamień to

  1.  
  2. $stmt = $pdo -> prepare("INSERT INTO ".$tabela[1]." (:login, pass, email, name, surname) VALUES (:login, :pass, :email, :name, :surname)");
  3.  


na to

  1.  
  2. $stmt = $pdo -> prepare("INSERT INTO ".$tabela[1]." (login, pass, email, name, surname) VALUES (:login, :pass, :email, :name, :surname)");
  3.  


poza tym to błąd z MySQL (komunikat nawet o tym mówi) a nie problem z PDO
Go to the top of the page
+Quote Post
Ryder
post 13.10.2009, 22:20:36
Post #4





Grupa: Zarejestrowani
Postów: 74
Pomógł: 1
Dołączył: 5.01.2008

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


Jest jakiś sposób wyświetlania zapytania jaki idzie do bazy jak używa się execute();

Ten post edytował Ryder 13.10.2009, 22:21:40
Go to the top of the page
+Quote Post
nospor
post 14.10.2009, 06:09:40
Post #5





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




raczej nie


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

"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

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: 14.08.2025 - 06:19