Call to a member function fetch_assoc

Тема в разделе "Как сделать...", создана пользователем toxass, 18 апр 2012.

  1. toxass

    toxass Постоялец

    Регистр.:
    24 июл 2007
    Сообщения:
    114
    Симпатии:
    15
    PHP:
    <?php
    error_reporting
    (E_ALL);
    ini_set('display_errors',true);
    ini_set('html_errors',true);
    ini_set('error_reporting',E_ALL E_NOTICE);
     
     
    define('DATALIFEENGINE'"news");
    require_once 
    "engine/classes/mysqli.class.php";
    include_once 
    "engine/data/dbconfig.php";
    unset(
    $db);
    $mysqli = new mysqli(DBHOSTDBUSERDBPASSDBNAME);
    $mysqli->set_charset(COLLATE);
    $oResult $mysqli->query('SELECT `title`,`category`,`id`,`alt_name`, DATE_FORMAT(`date`, "%e.%m.%Y") as `pub_date` FROM '.PREFIX.'_post WHERE DATE(`date`) <= NOW()');
    $sFile 'file.txt';
    $sUrl 'http://'.$_SERVER['HTTP_HOST'].'/main/';
    $sTmp '';
    while(
    $rgRow $oResult->fetch_assoc()){
        
    $l $mysqli->query('SELECT `alt_name` FROM '.PREFIX.'_category WHERE id = '.$rgRow['category']);
        
    $l_res $l->fetch_assoc();
       
     
        
    $sTmp .= $rgRow['title'].'|'.str_replace('/main/''/'.$l_res['alt_name'].'/' ,$sUrl).$rgRow['id'].'-'.$rgRow['alt_name'].'.html|'.$rgRow['pub_date']."|\n";
    }
    file_put_contents($sFile$sTmp);
    echo 
    'Процесс завершен';
     
    ?>

    Идея в том, что скрипт берет из DLE базы необходимую инфу и кладет ее в файл, но после смены хостинга, решил перевести сайт на UTF-8, и тут выскочила эта проблема. Хелп плз.
     
  2. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379
    Синтаксис запроса проверь...
    echo $mysqli->error;
     
  3. toxass

    toxass Постоялец

    Регистр.:
    24 июл 2007
    Сообщения:
    114
    Симпатии:
    15
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
     
  4. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    если нет mysqli

    PHP:
    error_reporting(E_ALL);
    ini_set('display_errors',true);
    ini_set('html_errors',true);
    ini_set('error_reporting',E_ALL E_NOTICE);
     
    define('DATALIFEENGINE'"news");
     
    include_once 
    "engine/classes/mysql.class.php";
    include_once 
    "engine/data/dbconfig.php";
     
    $oResult $db->query('SELECT `title`,`category`,`id`,`alt_name`, DATE_FORMAT(`date`, "%e.%m.%Y") as `pub_date` FROM '.PREFIX.'_post WHERE DATE(`date`) <= NOW()');
    $sFile 'file.txt';
    $sUrl 'http://'.$_SERVER['HTTP_HOST'].'/main/';
    $sTmp '';
    while(
    $rgRow mysql_fetch_assoc($oResult)){
        
    $l $db->query('SELECT `alt_name` FROM '.PREFIX.'_category WHERE id IN('.$rgRow['category'].')');
     
        
    $l_res=mysql_fetch_assoc($l);
        
    $sTmp .= $rgRow['title'].'|'.str_replace('/main/''/'.$l_res['alt_name'].'/' ,$sUrl).$rgRow['id'].'-'.$rgRow['alt_name'].'.html|'.$rgRow['pub_date']."|\n";
    }
    file_put_contents($sFile$sTmp);
    echo 
    'Процесс завершен';
     
  5. toxass

    toxass Постоялец

    Регистр.:
    24 июл 2007
    Сообщения:
    114
    Симпатии:
    15
    Не помогло.

    Код:
    MySQL Error!
    ------------------------
     
    The Error returned was:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
     
    Error Number:
    1064
     
    SELECT `alt_name` FROM dle_category WHERE id IN()
     
  6. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    можно формат категории проверять
    PHP:
    // после while($rgRow = mysql_fetch_assoc($oResult)){
    if(!preg_match('/\d/',$rgRow['category'])) continue;
    кстати, а что отдает
    PHP:
    // $sTmp = '';
    print_r(mysql_fetch_assoc($oResult)); exit;