嘿伙计们,我正在尝试使用 php ang ajax 更新我的数据库,但假设文本框是动态的,这就是为什么我尝试通过单击一个按钮使用多个更新来更新数据库,但我的 fire bug 说“你有一个SQL 语法错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 '= '100' WHERE student_id = '33' AND subject_id = '2' AND school_id = '1' AND adv' 处使用的正确语法第 1 行“我不太确定我的代码,因为我只是在试验如何使用 php 在 ajax 中执行此操作。
PHP:
session_start();
$school_id = $_SESSION['school_id'];
$faculty_id = $_SESSION['user_id_fac'];
$subject_id = $_POST['subject_id'];
$year_grade_level = $_POST['year_level'];
$subject_handeler_id = $_POST['subject_handler_id'];
$student_grades_boy = $_POST['student_grades_boy'];
$student_grades_girl = $_POST['student_grades_girl'];
$update_grades_boys = "UPDATE registrar_grade_archive SET";
//SET status = '0' WHERE subject_id = '$subject_id'"
$vaues_girl = array();
$values_boy = array();
foreach ($student_grades_boy as $key=>$data) {
$student_id_B= $data['studnt_B_id'];
$grade_B = $data['studnt_grade_B'];
$values_boy[$key] = 'grade = \''.$grade_B.'\' WHERE student_id = \''.$student_id_B.'\' AND subject_id = \''.$subject_id.'\' AND school_id = \''.$school_id.'\' AND advisor_faculty_id = \''.$faculty_id.'\' AND subject_handler_id = \''.$subject_handeler_id.'\' ' ;
}
$values_boy = implode(', ', $values_boy);
$ready_edit_grades_boy = $update_grades_boys . $values_boy;
$save_grades_boy = mysql_query($ready_edit_grades_boy) or die(mysql_error());
请大家帮忙。提前致谢
最佳答案
这里的一些问题:
- 如果
$student_grades_boy
包含超过 1 个项目,您的 sql 将有多个WHERE
语句(您只能有 1 个); SET
和列名之间需要一个空格;- 你有严重的sql注入(inject)问题;
- 您应该切换到 PDO 或 mysqli,因为
mysql_
函数已被弃用。
关于php - 使用 ajax 和 php 进行多次更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14323631/