[BUG反饋]後臺備份資料庫後,只備份了結構,資料全部空的。

發表於2020-04-04
-- -----------------------------
-- Table structure for `onethink_hooks`
-- -----------------------------
DROP TABLE IF EXISTS `onethink_hooks`;
CREATE TABLE `onethink_hooks` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `name` varchar(40) NOT NULL DEFAULT '' COMMENT '鉤子名稱',
  `description` text NOT NULL COMMENT '描述',
  `type` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '型別',
  `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新時間',
  `addons` varchar(255) NOT NULL DEFAULT '' COMMENT '鉤子掛載的外掛 '',''分割',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;

-- -----------------------------
-- Records of `onethink_hooks`
-- -----------------------------
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
INSERT INTO `onethink_hooks` VALUES ('', '', '', '', '', '');
如上面的程式碼。只有結構,資料全是空的。
在兩套環境上測試均如此。
分別是:
伺服器作業系統        Linux
ThinkPHP版本        3.2.0
執行環境        Apache/2.2.15 (CentOS)PHP/5.3.3
MYSQL版本        5.1.73

伺服器作業系統        WINNT
ThinkPHP版本        3.2.0
執行環境        Apache/2.4.9 (Win64) PHP/5.5.12
MYSQL版本        5.6.17
OT版本: 1.0.131218   
回覆
t也遇到這個問題,原因是因為使用了mysqli驅動,改為mysql就可以了,官方的備份程式在使用mysqli的時候,有bug。原因在於OT\Database.class.php 第154行,mysql_real_escape_string()函式的問題, $row = array_map('mysql_real_escape_string', $row);

這個問題只出現在開發環境中,在生產環境中可以備份成功,但恢復不行,提示函式找不到。
不知道是不是環境配置的問題,在生產環境下可以備份成功
評論

相關文章