2013-03-23 94 views
0

我正在尝试进行vBulletin修改,并遇到一个命令导致500错误的问题。

有问题的行是$db->fetch_array($result)命令。整个代码如下:

$sql = "SELECT `username` FROM `".TABLE_PREFIX."user` WHERE `ipaddress` = '$ip'"; 
$result = $vbulletin->db->query($sql); 

$array = $db->fetch_array($result); 

while($array = $db->fetch_array($result)) 
{ 
    $unames[] = $row; 
} 

$userips = implode(',',$unames); 

在vBulletin,$vbulletin->db->fetch_array()调用mysql_fetch_array($result, MYSQL_ASSOC)

我有一种感觉,错误是在我的SQL语句,但我不明白为什么。请有人看看?我已经失去了很多时间在这个错误...

回答

0
/** 
    * Enable PHP Error Reporting 
    * - Use this in case of Page 500 Error to 
    *  display Fatal/Warnings 
    * 
    * - Dont use in live use. 
    **/ 
    error_reporting(E_ALL); 
    ini_set('error_reporting', E_ALL); 
    ini_set('display_errors',1); 

    /** 
    * Query 
    **/ 
    $sql = "SELECT 
       `username` 
      FROM 
      `". TABLE_PREFIX ."user` 
      WHERE 
      `ipaddress` = '". $ip ."'"; 

    $result = $vbulletin->db->query_read($sql); 


    /** 
    * For each row, append ino dynamic array 
    *  - Might need to set MYSQL_ASSOC 
    * 
    * Although this might be: 
    *  - $row = $vbulletin->db->fetch_array($result) 
    **/ 
    while($row = $result->fetch_array()) { 
     $unames[] = $row; 
    } 

    /** 
    * Stringify 
    **/ 
    $userips = implode(',',$unames); 

由于$vbulletin->$db是它自己的类,你可以看到自己的Documentation它可能会在query_read()代替$db->query