Php Javascript正在发布变量,但我的所有数据都没有输入到数据库中

Php Javascript正在发布变量,但我的所有数据都没有输入到数据库中,php,mysql,mysql-5.7,Php,Mysql,Mysql 5.7,我有一个MySQL数据库,我正在使用AJAX通过表单向其中添加记录。控制台告诉我,我的所有数据都已发布到php页面,我没有收到任何错误。但是,并非所有数据都显示在数据库中 PHP: 在所有变量中,这些变量不是过账: $feedback = $_POST['feedback']; $student_work = $_POST['student_work']; $student = $_POST['student']; $assessment = $_POST['assessment']; $cla

我有一个MySQL数据库,我正在使用AJAX通过表单向其中添加记录。控制台告诉我,我的所有数据都已发布到php页面,我没有收到任何错误。但是,并非所有数据都显示在数据库中

PHP:

在所有变量中,这些变量不是过账:

$feedback = $_POST['feedback'];
$student_work = $_POST['student_work'];
$student = $_POST['student'];
$assessment = $_POST['assessment'];
$classwork = $_POST['classwork'];
$best = $_POST['best']; 
$subject = $_POST['subject'];
$binder = $_POST['binder'];
这是12个未投递邮件中的8个

编辑:以下是js发送的内容:

ajax.send(
            "classwork=" + classwork
            + "&student_work=" + student_work
            + "&feedback=" + feedback
            + "&assessment=" + assessment
            + "&best=" + best
            + "&student=" + student
            + "&subject=" + subject
            + "&binder=" + binder
            + "&teacher=" + teacher
            + "&form=" + form
            + "&draft=" + draft
            + "&s=" + s
            );
我还有其他几种类似的表单,它们工作得很好。提前感谢您的帮助

编辑:

请不要告诉我我的语法不正确,除非你要告诉我我漏掉了一个逗号什么的。(我检查了一下,所以我怀疑这是问题所在:)我知道这可能不是您插入的方式,但根据

只是尝试了一下,它也做了同样的事情

$query = "INSERT INTO evaluations (
        id_user, 
        time_submitted, 
        date_submitted, 
        feedback,  
        student_work_org, 
        best_works_port, 
        binder, '$binder',
        assesment_folders, 
        classwork_organization, 
        student_desks, 
        subject_specific_rubric, 
        id_teacher, 
        id_school, 
        id_form, 
        status) 
VALUES (
        '$evaluator',
        LOCALTIME(),
        NOW(),
        '$feedback',
        '$student_work',
        '$best',
        '$assessment',
        '$subject',
        '$classwork',
        '$student',
        '$teacherid',
        '$id_school',
        '$formid',
        'Submitted'
) ";
你的观点是错误的。这是正确的形式:

INSERT INTO <table name> (
    <field name foo>
    <field name bar>
    .
    .
    .
)
VALUES (
    <value for foo>,
    <value for bar>,
    .
    .
    .
)
插入到(
.
.
.
)
价值观(
,
,
.
.
.
)

我很感谢您的回答,但我使用的语法是MySQL扩展语法,它在我使用的其他30个表单提交中运行良好,并且它也可以提交此表单的一部分。这意味着“并非所有数据都显示在数据库中”是什么意思?有时插入行,有时不插入行?或者,插入的行中某些列的值错误?或者它们的默认值(或NULL?)而不是预期值?行总是插入的,但是应该发布的12个变量中有8个是NULL。我认为问题不在于插入代码。可能是数据,尽管我希望它返回一个错误。发布的值看起来是数字,失败的是文本,这是否可能是编码问题,然后您使用的MySQL扩展正在抑制错误-(我从未使用PHP,所以不熟悉您使用的确切结构,它是否可能实际处理INSERT IGNORE查询?),这是一个数据库结构问题吗?据我所见,问题很可能不是SQL级别的。请您
print\r($\u POST)
以检查各种POST参数是否按预期设置…@Sylvain leroux我将尝试
print\r
并与您联系,谢谢@Jamie Hartnoll这是一个很好的观点,尽管
status
是文本,而不是数字。
INSERT INTO <table name> (
    <field name foo>
    <field name bar>
    .
    .
    .
)
VALUES (
    <value for foo>,
    <value for bar>,
    .
    .
    .
)