Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: PDO SQLSTATE[42000]:

Aktivity
Avatar
Dominik Gavrecký:26.4.2015 14:55

Zdravím komunitu,

Znova sa mi naskytol celkom zaujímavý problém.

<?php
include 'db.php';

if (isset($_POST["Save"])) {
  $Receiver = $_POST["Receiver"];
  $Sender = $_POST["Sender"];
  $Subject = $_POST["Subject"];
  $Message = $_POST["Message"];
  $Time = date("H:i:s j.n.Y");

  $query = $connect->query("INSERT INTO mailer (Receiver, Sender, Subject, Message, Time) VALUES (:Receiver, :Sender, :Subject, :Message, :Time)");

}

 ?>
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 ':Receiver, :Sender, :Subject, :Message, :Time)' at line 1' in C:\Program Files\XAMPP\htdocs\emailer\index.php:11 Stack trace: #0 C:\Program Files\XAMPP\htdocs\emailer\index.php(11): PDO->query('INSERT INTO mai...') #1 {main} thrown in C:\Program Files\XAMPP\htdocs\emailer\index.php on line 11

Pozeral som na Googli kde som našiel že v mysql existujú slovíčka ktoré sú niečim špecialne. Mohol by mi niekto poradiť ako sa zbaviť erroru a povedať niečo viac o týchto slovíčkach.

https://dev.mysql.com/…d-words.html

Ďakujem

Editováno 26.4.2015 14:55
Odpovědět
26.4.2015 14:55
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Dominik Gavrecký
David Hartinger:26.4.2015 15:07

V té query máš značky pro PDO, musíš volat prepare() a pak execute(). Ideálně použij wrapper, se kterým se pracuje ve zdejších tutoriálech a nebudeš to muset řešit.

Editováno 26.4.2015 15:08
Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět
26.4.2015 15:07
You are the greatest project you will ever work on.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.