Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pdo, syntax wrong...
Forum PHP.pl > Forum > PHP
boosik01
Cześć. Przy updatowaniu danych php wywala mi błąd. Jest to o tyle dziwne że wcześniej uzywałem tego i nic mi nie wypluwało:


UPDATE:
  1.  
  2. query('update messages set read=:read where receive=:id', array(':read'=>$read, ':id'=>$id), $pdo);
  3.  


zaś funkcja:

  1. function query($sql, array $args, $pdo)
  2. {
  3. $query = $pdo->prepare($sql);
  4. $query->execute($args);
  5. return $query;
  6.  
  7. }


A błąd to:

Kod
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 Something is wrong in your syntax obok 'read='s' where receive='67'' w linii 1' in C:\Program Files (x86)\WebServ\httpd\champion-rally\functions\function.query.php:5 Stack trace: #0 C:\Program Files (x86)\WebServ\httpd\champion-rally\functions\function.query.php(5): PDOStatement->execute(Array) #1 C:\Program Files (x86)\WebServ\httpd\champion-rally\messages.php(8): query() #2 C:\Program Files (x86)\WebServ\httpd\champion-rally\index.php(59): require_once('C:\Program File...') #3 {main} thrown in C:\Program Files (x86)\WebServ\httpd\champion-rally\functions\function.query.php on line 5
Crozin
"read" jest słowem kluczowym w MySQL - http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html - nie możesz go używać jako nazwy tabeli/kolumny. Ewentualnie musiałbyś tą nazwę wrzucić w ciapki, tj.: `read`
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.