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字符串转换为你的值。天哪,我没想到!谢谢你给我一个很好的回答。天哪,我是个笨蛋,我甚至没想到!谢谢你的回答