Beispiel #1
0
 /**
  * (读 + 写)
  *
  * @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;
     }
 }
Beispiel #2
0
 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;
 }