php - mysql UPDATE后通过mysql_affected_rows判断是否成功,没有则INSERT ,结果出问题了
天蓬老师
天蓬老师 2017-04-10 18:02:12
0
1
903

mysql UPDATE后通过mysql_affected_rows判断是否成功,没有则INSERT ,结果出问题了,表行数成倍的增长,代码如下,求解

//数据写入数据库
   function save_db($currencyname_en,$currencyname_cn,$buyingrate,$sellingrate,$middlerate)
   {
        //更新
        $query_update = ' UPDATE '. TABLENAME .' SET '
                       .' buyingrate=' .$buyingrate .','
                       .' sellingrate=' .$sellingrate .','
                       .' middlerate=' .$middlerate .','
                       .' lastupdatetime="' .date('Y-m-d H:i:s',time()) .'"'
                       .' WHERE currencyname_en="' .$currencyname_en .'"';
        mysql_query($query_update);

        if(mysql_affected_rows()!=1)//更新不成功,尝试插入        
        {
            $query_insert = 'INSERT INTO ' . TABLENAME . '(currencyname_en, currencyname_cn, buyingrate, sellingrate, middlerate, lastupdatetime) VALUES (                   
                                            "'.$currencyname_en.'",
                                            "'.$currencyname_cn.'",
                                            "'.$buyingrate.'",
                                            "'.$sellingrate.'",
                                            "'.$middlerate.'",
                                            "'.date('Y-m-d H:i:s',time()).'"
            )';
            mysql_query($query_insert);
        }

        if(mysql_affected_rows()!=1)
        {
            $err .= "<br>插入或者更新".$currencyname_en."-".$key."currencyname_cn";
        }

   }
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

reply all(1)
Peter_Zhu
INSERT INTO table
(...)
VALUES
(...)
ON DUPLICATE KEY UPDATE field1 = ?, field2 = ?, ...

这样会不会简单一点?

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template