Php MySql语法错误?

Php MySql语法错误?,php,mysql,Php,Mysql,我收到这个错误:您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第1行“to、from、message、read”值('3'、'2'、'testmessage'、'0')附近使用的正确语法。 我在这里呆了几个小时,在SO或其他网站上什么也没找到。提前感谢您的帮助。下面是一个文件,它是一个简单的消息传递系统 <?php session_start(); $id = $_SESSION['id']; $msg = $_POST['message']; $theirs = $

我收到这个错误:
您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第1行“to、from、message、read”值('3'、'2'、'testmessage'、'0')附近使用的正确语法。

我在这里呆了几个小时,在SO或其他网站上什么也没找到。提前感谢您的帮助。下面是一个文件,它是一个简单的消息传递系统

<?php
session_start();
$id = $_SESSION['id'];
$msg = $_POST['message'];
$theirs = $_POST['value'];
$read = 0;

$con = mysql_connect("127.0.0.1","root","");
mysql_select_db("test", $con);
if (!$con)
  die('Could not connect: ' . mysql_error());

$sql = "INSERT INTO  messages (to, from, message, read) VALUES ('$theirs','$id','$msg','$read')";

if (!mysql_query($sql,$con))
  die('Error: ' . mysql_error());

mysql_close($con);

to
from
read
都在MySQL中。用反勾号引用它们

INSERT INTO  messages (`to`, `from`, `message`, `read`) VALUES ('$theirs','$id','$msg','$read')

to
from
read
都在MySQL中。用反勾号引用它们

INSERT INTO  messages (`to`, `from`, `message`, `read`) VALUES ('$theirs','$id','$msg','$read')

from
to
read
是MySQL保留字。最好不要将它们用作列名(否则必须将它们括在反勾中),而是使用其他列名


您可以使用
发送者
,而不是
中的
,使用
接收者
而不是
。另外,将
read
更改为
is\u read
,您就没事了。

read
都是MySQL保留字。最好不要将它们用作列名(否则必须将它们括在反勾中),而是使用其他列名


您可以使用
发送者
,而不是
中的
,使用
接收者
而不是
。同时将
read
更改为
is\u read
,您就没事了。

您的代码容易受到SQL注入攻击!不要再使用不推荐使用的、不安全的、低效的mysql_*API,而是在准备好的语句中使用mysqli或PDO。我知道,这只是一个测试。稍后我将退出并创建vallidation和参数。我只是想从这里开始,你能告诉我我可以在网上访问哪个页面吗?我猜你有一些字符正在阻止你的查询,可能是在$msg中,在插入值并将值放在大括号中(例如{$msg})之前,将mysql_real_escape_字符串转换为你的值。你的代码容易受到SQL注入攻击!不要再使用不推荐使用的、不安全的、低效的mysql_*API,而是在准备好的语句中使用mysqli或PDO。我知道,这只是一个测试。稍后我将退出并创建vallidation和参数。我只是想从这里开始,你能告诉我在网络上我可以访问哪个页面吗?我猜你有一些字符在阻止你的查询,可能在$msg中,在插入值并将值放在大括号中(例如{$msg})之前,将mysql\u real\u escape\u字符串转换为你的值。天哪,我没想到!谢谢你给我一个很好的回答。天哪,我是个笨蛋,我甚至没想到!谢谢你的回答