Sunday, 8 January 2017

php - MySQL: "You have an error in your SQL syntax... near 'desc) VALUES ('Idea','Description')'"





I am trying to get MySQL to work for my form submissions. I am having a problem when I try to insert into a table.
When I put information into my form and click submit (in this example the information is "Idea" in one field and "Description" in the other) I get this response:




"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 'desc) VALUES
('Idea','Description')' at line 1"




I am running a .php file from a webserver to execute this script.



Here is my current code:





mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("date_ideas") or die(mysql_error());
$title=$_POST['title'];
$title=mysql_real_escape_string($title);
$desc=$_POST['desc'];
$desc=mysql_real_escape_string($desc);
$submit="INSERT INTO ideas (title, desc) VALUES ('$title','$desc');";

mysql_query($submit) or die(mysql_error());


echo ("Idea submitted. Click here to go back and post another idea.");
?>


If you call an echo of the variables used it succeeds at passing through the information, so that's not the problem.


Answer



It may be because desc is a keyword in SQL. Try a different name. desc is used to sort results in descending order.



In general I would recommend to avoid to use reserved words for column names.


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...