使用Ajax和PHP进行多次更新 [英] multiple update using ajax with php

查看:117
本文介绍了使用Ajax和PHP进行多次更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,我尝试使用php ang ajax更新我的数据库,但是假设文本框是动态的,这就是为什么我试图通过单击一下按钮使用多次更新来更新数据库,但是我的萤火虫说:您有一个SQL语法中的错误;请查看与您的MySQL服务器版本相对应的手册,以找到在'='100'附近使用的正确语法WHERE student_id ='33'AND subject_id ='2'AND school_id ='1'AND adv'第1行我对我的代码不太确定,因为我只是在尝试使用php在ajax中做到这一点.

hey guys im trying to update my database using php ang ajax, but assuming that the textbox are dynamic thats why im trying to update the database using multiple updates with one click of a button but my fire bug says that "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 '= '100' WHERE student_id = '33' AND subject_id = '2' AND school_id = '1' AND adv' at line 1 " im not pretty sure with my code because im just experimenting on how to do it in ajax with php.

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包含多个项目,则您的sql将具有多个WHERE语句(您只能有1个);
  • 您需要在SET和列名之间留一个空格;
  • 您有严重的sql注入问题;
  • 不推荐使用mysql_函数,因此应切换到PDO或mysqli.
  • if $student_grades_boy contains more than 1 item, your sql will have multiple WHERE statements (you can only have 1);
  • you need a space between SET and the column name;
  • you have a serious sql injection problem;
  • you should switch to PDO or mysqli as the mysql_ functions are deprecated.

这篇关于使用Ajax和PHP进行多次更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆