/**
  * 下载资源列表,并返回资源数组
  */
 public function _fetch()
 {
     $rawrss = $this->_fetchRss($this->FEED_URL);
     if (!$rawrss) {
         LOGW("无法获取 RSS 列表");
         return array();
     }
     $rs = $this->rawrss2arr($rawrss);
     if (empty($rs)) {
         LOGN("没有从 RSS 列表中获取到资源");
         return array();
     }
     return $rs;
 }
Exemple #2
0
/**
 * 进行一次 SQL 查询,如果连接断开,则自动重新尝试
 */
function db_query($sql)
{
    global $mysqli;
    global $DB_HOST;
    global $DB_USER;
    global $DB_PASSWORD;
    global $DB_DATABASE;
    $result = $mysqli->query($sql);
    if (!$result) {
        LOGN("第一次查询 MySQL 失败,重试后准备继续: " . $mysqli->error . ". SQL: {$sql}");
        /// 重连 MySQL
        /// FIXME: 连接 MySQL 应该独立成一个函数
        $ret = $mysqli->real_connect($DB_HOST, $DB_USER, $DB_PASSWORD, $DB_DATABASE);
        if (!$ret) {
            LOGE('无法创建 MySQL 连接: ' . $mysqli->error);
            return FALSE;
        }
        $mysqli->query("set NAMES 'utf8'");
        $result = $mysqli->query($sql);
        if (!$result) {
            LOGW("第二次查询 MySQL 失败: " . $mysqli->error . ". SQL: {$sql}");
            return FALSE;
        }
    }
    return $result;
}