dongzhankou2090 2015-06-24 12:54
浏览 38
已采纳

在MySQL中使用多个UPDATE

I'm trying to "force" this code to run through every line and update every line that matches the statement above..

if(isset($itemID1) && isset($itemID2) && isset($itemID3) && isset($itemID4) && isset($itemID5) && isset($itemID6) && isset($itemID7) && isset($itemID8) && isset($itemID9) && isset($itemID10)){    
        $upd = "UPDATE booking SET status='$status/ADM', verification='No'";
        if($CalDate !=''){
            $upd.= ",CalDate='$CalDate'";
        }
        if($DueDate !=''){
            $upd.= ",DueDate='$DueDate'";
        }
        if($groupid1 != 0){
            $upd.= " WHERE groupid IN ('$groupid1')";
        }
        if($groupid2 != 0){
            $upd.= " WHERE groupid IN ('$groupid2')";
        }
        if($groupid1 == 0){
            $upd.= " WHERE itemid IN ('$itemID1')";
        }
        if($groupid2 == 0){
            $upd.= " WHERE itemid IN ('$itemID2')";
        }
    }

Known errors: Error could not update data reason: 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 'WHERE itemid IN ('143')' at line 1

Either that or the script will only update the first line that it passes by. As for groupid1 != 0

  • 写回答

1条回答 默认 最新

  • doupi8598 2015-06-24 13:01
    关注

    The error is likely to be where you build your WHERE clauses.

    It is probably due to the fact that you are adding multiple WHERE clauses into your statement. Your SQL statement can only contain one WHERE clause.

    For example, if groupid1 and groupid2 are not 0 then you will get this statement:

    SELECT ... WHERE groupid IN ('$groupid1') WHERE groupID IN ('$groupid2')
    

    This is obviously invalid. You need to instead add a single WHERE clause and then add parameters using AND or OR to separate them as appropriate:

    SELECT ... WHERE groupid IN ('$groupid1') OR groupID IN ('$groupid2')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 pb数据库修改或者求完整pb库存系统,需为pb自带数据库
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路