MySQL 语法错误 - 额外的眼睛?

标签 mysql sql syntax

有人可以仔细检查一下这个声明吗?我不断收到语法错误,我很困惑到底出了什么问题。

mysql_query("INSERT INTO emails (to, from, subject, content, ip) VALUES('$email_to', '$email_from', '$subject', '$content', '$ip' ) ") 

谢谢!

编辑:错误

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 ''to', 'from', subject, content, ip) VALUES('[MY EMAIL ADDRESS]', 'l', 'hi', ' at line 1

编辑 2:

我已经 sanitizer 了。

$email_to = mysql_real_escape_string($_POST['email_to']);
$email_from = mysql_real_escape_string($_POST['email_from']);
$subject = mysql_real_escape_string($_POST['subject']);
$content = mysql_real_escape_string($_POST['content']);

最佳答案

试试这个:

mysql_query(
    "INSERT INTO emails (`to`, `from`, subject, content, ip) 
    VALUES('$email_to', '$email_from', '$subject', '$content', '$ip' )") 

我认为错误的产生是因为 from 是一个保留字……反引号应该可以解决这个问题。
请记住,您必须始终清理用户输入以避免 SQL 注入(inject)!!

关于MySQL 语法错误 - 额外的眼睛?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7792948/

相关文章:

MySQL/PHP : cannot perform two separate queries on same database?

android - 使用 json 数据发送 imageview base64 编码的字符串

sql - 从不完全不同的结果中返回不同的行

需要前一个事件的字段的 MySQL 触发器

emacs - 如何读取Emacs语法表中的范围?

android - 在 list 文件中定义 Activity 的正确语法是什么

c# - 关键字 "auto"C++ 和 "dynamic"C#

MySQL:加入联合表

sql - Sql中的AVG - float 问题

mysql - 设计一个单元格有多个引用的表格的最佳方法?