Php Javascript正在发布变量,但我的所有数据都没有输入到数据库中
我有一个MySQL数据库,我正在使用AJAX通过表单向其中添加记录。控制台告诉我,我的所有数据都已发布到php页面,我没有收到任何错误。但是,并非所有数据都显示在数据库中 PHP: 在所有变量中,这些变量不是过账: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
$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>,
.
.
.
)