MySQL:“您的 SQL 语法有错误...在“desc) VALUES (“想法”、“描述”) 附近”

发布于 2024-10-22 19:12:27 字数 850 浏览 4 评论 0原文

我正在尝试让 MySQL 为我的表单提交工作。当我尝试插入表时遇到问题。
当我将信息放入表单并单击“提交”时(在本例中,一个字段中的信息为“想法”,另一个字段中的信息为“描述”),我收到以下响应:

“您的 SQL 语法有错误; 检查对应的手册 您的 MySQL 服务器版本 在 'desc) VALUES 附近使用正确的语法 ('想法','描述')'位于第 1 行”

我正在从网络服务器运行一个 .php 文件来执行此脚本。

这是我当前的代码:

<?php

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 <a href='Webroot/submit.php'>here</a> to go back and post another idea.");
?>

如果您调用所使用的变量的回显,它会成功地通过信息,所以这不是问题。

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:

<?php

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 <a href='Webroot/submit.php'>here</a> 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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花桑 2024-10-29 19:12:27

desc 是保留关键字(ORDER BY 中的 DESCENDING 的缩写)。

将其括在反引号中:

INSERT INTO ideas (title, `desc`) VALUES ('$title','$desc');

desc is a reserved keyword (short for DESCENDING in ORDER BY).

Enlose it into backticks:

INSERT INTO ideas (title, `desc`) VALUES ('$title','$desc');
晨光如昨 2024-10-29 19:12:27

可能是因为 desc 是 SQL 中的关键字。尝试使用不同的名称。 desc 用于对结果进行降序排序。

一般来说,我建议避免使用保留字作为列名。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文