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());

?>