Php 有关insert函数和POST函数的SQL语法错误
很抱歉再次给您带来麻烦,不过我似乎在编码方面遇到了一些麻烦。 出于某种原因,我遇到以下错误:Php 有关insert函数和POST函数的SQL语法错误,php,mysql,Php,Mysql,很抱歉再次给您带来麻烦,不过我似乎在编码方面遇到了一些麻烦。 出于某种原因,我遇到以下错误: 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 ' '', 'No Subject', 0, 'Jul 8, 2013 09:33 PM', 0)' at line 1 每当我执行以下
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 ' '', 'No Subject', 0, 'Jul 8, 2013 09:33 PM', 0)' at line 1
每当我执行以下命令时:
$date_posted=date("M j, Y h:i A", TIME());
$sent_to=$_POST["member_id"];
$sent_by=$_SESSION["member_id"];
$subject=addslashes($_POST["subject"]);
if($subject==Null)
{
$subject="No Subject";
}
$subject=verify_data($subject);
$message=addslashes($_POST["message"]);
$message=verify_data($message);
$sql="insert into main";
$sql.="(member_id";
$sql.=", mail_to";
$sql.=", mess_text";
$sql.=", subject";
$sql.=", deleted";
$sql.=", date_posted";
$sql.=", mess_read)";
$sql.=" values($sent_by";
$sql.=", $sent_to";
$sql.=", '$message'";
$sql.=", '$subject'";
$sql.=", 0";
$sql.=", '$date_posted'";
$sql.=", 0)";
$result=mysql_query($sql);
print mysql_error();
if($result)
{
print "<font color='red'>Message sent successfully.</font>";
}
else
{
//print "<font color='red'>A system error has happened, be patient.</font>";
}
结果:echo$sql:
insert into mail(member_id, mail_to, mess_text, subject, deleted, date_posted, mess_read) values(2, , '', 'No Subject', 0, 'Jul 8, 2013 09:43 PM', 0)
如果你能帮我解决这个问题,我将不胜感激。
这个社区不仅为像我这样的初学者提供了巨大的支持,而且也为那些有时需要一点点努力的专家提供了巨大的支持。如果您的
$sent\u to
或$sent\u by
变为空,那么它将失败。根据您发布的SQL字符串,$sent\u to似乎为空,请检查以确保该值存在,或在该值周围加上单引号,以便将空值传递给数据库,如果您的$sent\u to
或$sent\u by
变为空,则它将失败。根据您发布的SQL字符串,$sent_to似乎为空,请检查以确保该值存在,或在该值周围加上单引号,以便将空值传递给数据库
$sent\u to=(isset($\u POST[“member\u id”])和&$\u POST[“member\u id”]!=“”)?
$\u POST[“成员id]:''
或
$sent\u to=(isset($\u POST[“member\u id”])和&$\u POST[“member\u id”]!=“”)?
$\u POST[“成员id”]:null;//如果它接受null
--编辑---
邮寄到您可以接受整数
所以
$sent\u to=(isset($\u POST[“member\u id”])和&$\u POST[“member\u id”]!=“”)?
$\u POST[“成员id”]:0//它可以是零或任何您想要的默认值
$sent\u to=(isset($\u POST[“member\u id”])和&$\u POST[“member\u id”]!=“”)?
$\u POST[“成员id]:''
或
$sent\u to=(isset($\u POST[“member\u id”])和&$\u POST[“member\u id”]!=“”)?
$\u POST[“成员id”]:null;//如果它接受null
--编辑---
邮寄到您可以接受整数
所以
$sent\u to=(isset($\u POST[“member\u id”])和&$\u POST[“member\u id”]!=“”)?
$\u POST[“成员id”]:0//它可以是零或任何您想要的默认值
及
及
表单元素必须具有
名称
,才能在表单提交时访问它们。所以为了使用-
$sent_to=$_POST["member_id"];
必须有一个如下所示的元素-
<input name="member_id" />
表单元素必须具有
名称
,才能在表单提交时访问它们。所以为了使用-
$sent_to=$_POST["member_id"];
必须有一个如下所示的元素-
<input name="member_id" />
@VaibhavDesai-什么意思?添加echo$sql代码>到您的脚本,并向我们显示输出。@VaibhavDesai-Done,我回显了脚本。结果显示在修改后的帖子中。如果您的$sent\u to或$sent\u by变为空,则它将变为空fail@DevZer0-啊,难怪哈哈。我看看我能做什么。虽然我确实认为问题已经解决了:/@VaibhavDesai-你是什么意思?添加echo$sql代码>到您的脚本,并向我们显示输出。@VaibhavDesai-Done,我回显了脚本。结果显示在修改后的帖子中。如果您的$sent\u to或$sent\u by变为空,则它将变为空fail@DevZer0-啊,难怪哈哈。我看看我能做什么。虽然我确实认为问题已经解决了:/hm。。。奇怪的是,我修改了POST函数,但似乎仍然无法输出所需的内容因此,假设它会起作用。在从“自动完成”中选择行之后是否制作表单post?@Blahwhore如果您查看该jquery ui示例中的源代码,他们只设置了id属性,而不是name属性,因此无法在表单post上访问输入-
。因此,如果您只将项目id
更改为成员id
,您还需要添加name=“member\u id”
是的,这就是我计划这样做的。嗯。。。奇怪的是,我修改了POST函数,但似乎仍然无法输出所需的内容因此,假设它会起作用。在从“自动完成”中选择行之后是否制作表单post?@Blahwhore如果您查看该jquery ui示例中的源代码,他们只设置了id属性,而不是name属性,因此无法在表单post上访问输入-
。因此,如果您只将项目id
更改为成员id
,那么您还需要添加name=“member\u id”
是的,这就是我计划这样做的。还没有,尽管我开始怀疑int(X)函数与POST函数不兼容。邮件的默认值是多少。您可以在db本身中设置。或者将其设置为0,或者如果可以强制mail_值发送到post。虽然我开始怀疑int(X)函数与post函数不兼容,但还没有。mail_的默认值是多少。您可以在db本身中设置。或者将其设置为0,或者如果可以强制将邮件值设置为发送到post。嗯。。。“消息已发送”通知显示,但post选项似乎无法正常工作。嗯。。。“消息已发送”通知显示,但post选项似乎无法正常工作。好了,我接受了你的回答。工作也很完美,我只是在测试帐户中再次测试。好了,我接受了你的答案。工作也很完美,我只是在测试帐户中再次测试它。
<input name="member_id" />
<input type="hidden" id="project-id" /> // from the autocomplete source code example
<input type="hidden" id="member_id" name="member_id" />
<?php
/*$db_host='localhost';
$db_user='root';
$db_pass='';
$db_name='example';*/
$dbc = mysql_connect("localhost","root","admin123") or die('Connection to database failed');
mysql_select_db("example",$dbc);
//$fname =$_POST['first_name'];
//$lname =$_POST['last_name'];
$sql="INSERT INTO table(first_name,last_name) VALUES('Prashant','Bhatta')";
mysql_query($sql,$dbc) or die (mysql_error());
?>