Eroare de MySQL la adaugare date in tabel

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
tycyssg
Mesaje:58

Eroare de MySQL la adaugare date in tabel

Am un tabel cu 6 coloane

Id - INT
cat - VARCHAR(50)
title - VARCHAR (50)
price - VARCHAR (6)
des - TEXT
date - VARCHAR (15)

Si incerc sa bag date in bd printr-un formular.

La cat - STARTERS
La title - Mixed Hors D'oeuvre
La Price - 4.95
La des - Chicken tikka, sheek kebab, Lamb Tikka, Drumstick, onion bhaji
La date - se adauga valoarea prin functia date();


Si imi apare eroarea asta:

Cod: Selectaţi tot

Error: 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 'oeuvre', '4.95', ' Igonore the "." when you write the syntax. ', '02-10-2012' at line 4
Ciudat e ca daca la title , nu folosesc acel " ' " comanda este efectuata.

Vreo idee careva? Multumesc

MarPlo Mesaje:4343
Eroarea este de la acea ghilimea simpla " ' " .
Daca folosesti mysql standard in PHP (adica nu PDO sau MySQLi) lncearca sa aplici functia addslashes() sau mysql_real_escape_string() la datele primite de la formular, inainte de a fi adaugate in comanda SQL (acestea adauga backslash "\" inaintea anumitor caractere).
Vezi tutorialul: Adaugarea datelor in tabele MySQL .

tycyssg Mesaje:58
well , am incercat cum mi-ai spus..

Cod: Selectaţi tot

$data=@date('d-m-Y');
  $title= mysql_real_escape_string($_POST['title']);
  $price= mysql_real_escape_string($_POST['price']);
  $des= mysql_real_escape_string($_POST['des']);
  
   mysql_select_db($NumeBazaDate,$conexiune);

$sql="INSERT INTO restmenu (title,price,des,date)
VALUES
('".$title."',
'".$price."',
'".$des."',
'".$data."'
)";
if (!mysql_query($sql,$conexiune))
  {
  die('Error: ' . mysql_error());
  }
echo  header("Location: okmsj7.php");
}
mysql_close($conexiune);
   
}
Cand vreau sa adaug datele , imi apare eroare "Conexiune pierduta" cum apare eroarea in browser cand nu ai internet , desi sunt pe localhost.

MarPlo Mesaje:4343
Functia mysql_real_escape_string() se aplica dupa ce se face conectarea la MySQL si selectarea bazei de data, cu mysql_select_db(), si inainte de $sql.
Daca eroarea tot mai apare, nu cunosc cauza.

Subiecte similare