/** * (读 + 写) * * @param string $sql * @return bool */ public static function query($sql, $is_master = false) { $sql = trim($sql); $GLOBALS['database']['table_prefix'] == 'ylmf_' || ($sql = str_replace('ylmf_', $GLOBALS['database']['table_prefix'], $sql)); if (substr(strtolower($sql), 0, 1) === 's') { self::$current_link = self::init_mysql(true, $is_master); } else { self::$current_link = self::init_mysql(false, $is_master); } try { self::$query = @mysql_query($sql, self::$current_link); if (self::$query === false) { throw new Exception(mysql_error()); } else { self::$query_count++; return self::$query; } } catch (Exception $e) { if (!defined('DEBUG_LEVEL') || !DEBUG_LEVEL) { } else { echo $e->getMessage(), '<br/>'; echo '<pre>', $e->getTraceAsString(), '</pre>'; echo '<strong>Query: </strong> ' . $sql; } return false; } }
protected function _creatTable($sql, $dbname, $yl_manager, $yl_managerpw, $tblpre) { $installinfo = ''; $sql = str_replace("\r", '', $sql); $sql = $tblpre == 'ylmf_' ? $sql : str_replace('ylmf_', $tblpre, $sql); $sqlarray = array(); $sqlarray = explode(";\n", $sql); // ppr($sqlarray); app_db::select_db($dbname); foreach ($sqlarray as $key => $query) { if (empty($query)) { continue; } $query = trim(str_replace("\n", '', $query)); if ($query && strpos($query, 'CREATE TABLE') !== false) { $c_name = trim(substr($query, 27, strpos($query, '(') - 27)); $installinfo .= $this->_getLang('creat_table') . $c_name . ' ...' . $this->_getLang('success') . "\n"; $extra1 = trim(substr(strrchr($query, ')'), 1)); if (app_db::server_info() >= '4.1') { $extra2 = "ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci ;"; // $extra2 = "ENGINE=MyISAM DEFAULT CHARSET=gbk COLLATE=gbk_chinese_ci ;"; } else { $extra2 = 'TYPE=MyISAM;'; } $query = str_replace($extra1, $extra2, $query); } app_db::query($query); } return $installinfo; }