PhpWind教程:短消息刪除錯誤的臨時解決方法_PhpWind教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!


      下載最新版本無這個錯誤,已經修正、  此前下載的,或者目前存在刪除錯誤的請下載最新的安裝包,或者按以下修改
      查找require/msg.php

      function delete_msgc($ids = null) {
      .............
      }
      // ..........為省略

      把整個函數替換成

      function delete_msgc($ids = null) {
              $GLOBALS['db']->update("DELETE pw_msgc FROM pw_msgc LEFT JOIN pw_msg ON pw_msgc.mid= pw_msg.mid LEFT JOIN pw_msglog ON pw_msgc.mid= pw_msglog.mid WHERE pw_msg.mid is NULL AND pw_msglog.mid is NULL".($ids ? " AND pw_msgc.mid IN($ids)" : ''));
      }

      或者用附件直接覆蓋
      原因是,Mysql版本太低的話,導致SQL執行出錯。Mysql5.X以上不會出現此錯誤。

      如還沒有解決,請按下面說明處理:
      require/msg.php

      $GLOBALS['db']->update("DELETE mc FROM pw_msgc mc LEFT JOIN pw_msg m ON mc.mid=m.mid LEFT JOIN pw_msglog ml ON mc.mid=ml.mid WHERE m.mid is NULL AND ml.mid is NULL".($ids ? " AND mc.mid IN($ids)" : ''));

      替換成:
      MYSQL 4.0.x版本

      $GLOBALS['db']->update("DELETE pw_msgc FROM pw_msgc mc LEFT JOIN pw_msg m ON mc.mid=m.mid LEFT JOIN pw_msglog ml ON mc.mid=ml.mid WHERE m.mid is NULL AND ml.mid is NULL".($ids ? " AND mc.mid IN($ids)" : ''));

      MYSQL 3.x版本

          global $db;
          $mids = '';
          $query = $db->query("SELECT mc.mid FROM pw_msgc mc LEFT JOIN pw_msg m ON mc.mid=m.mid LEFT JOIN pw_msglog ml ON mc.mid=ml.mid WHERE m.mid is NULL AND ml.mid is NULL".($ids ? " AND mc.mid IN($ids)" : ''));
          while ($rt = $db->fetch_array($query)) {
              $mids .= ($mids ? ',' : '').$rt['mid'];
          }
          if ($mids) {
              $db->update("DELETE FROM pw_msgc WHERE mid IN($mids)");
          }
      附件:require_msg.zip

      查看更多 PhpWind教程  PhpWind模板風格

      來源:Phpwind//所屬分類:PhpWind教程/更新時間:2012-06-06
      相關PhpWind教程