• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql UPDATE后通过mysql_affected_rows判断是否成功,没有则INSERT ,结果出问题了

php 搞代码 4年前 (2022-01-23) 44次浏览 已收录 0个评论
文章目录[隐藏]

mysql UPDATE后通过mysql_affected_rows判*本5文来源gaodai$ma#com搞$$代**码)网@搞代码gaodaima断是否成功,没有则INSERT ,结果出问题了,表行数成倍的增长,代码如下,求解

<code>//数据写入数据库   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";        }   }</code>

回复内容:

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

<code>//数据写入数据库   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";        }   }</code>

<code class="SQL">INSERT INTO table(...)VALUES(...)ON DUPLICATE KEY UPDATE field1 = ?, field2 = ?, ...</code>

这样会不会简单一点?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql UPDATE后通过mysql_affected_rows判断是否成功,没有则INSERT ,结果出问题了
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址