Seite 1 von 1

MySQL_Fetch_Array klappt nicht !?

Verfasst: 04.01.2004 13:22
von Alexander123
Hi,
ich habe mir eine kleine MySQL-Klasse erstellt, dich ich bei Bedarf erweitere. Das funktioniert auch lokal auf meinem Server (PHP 4.2.2) zu Hause:

Code: Alles auswählen

class MySQL { 
var $Error = 0; // Letzte Datenbank-Fehlermeldung 
var $DB_ID = 0; 

var $DBName = 0; // Letzter Datenbank-Name 

function MySQL($hostname, $port,$username,$password) { 
$this->DB_ID = mysql_connect("$hostname","$username","$password") 
or die($this->error = "Keine Verbindung mit dem MySQL Server möglich"); 
echo $this-> error; 
return $this->error; 
} 

function SelectDB($db) { 
$this -> DBNAme = $db; 
mysql_select_db($db, $this->DB_ID) or die ($this->error = "Die Datenbank $db existiert nicht"); 
echo $this-> error; 
return $this->error; 
} 

function Query($query) { 
return MYSQL_QUERY($query, $this->DB_ID); 
// echo $this-> error; 
// return $this->error; 
} 
function FetchArray($query) { 
//$sql = MYSQL_QUERY($query) or die ($this->error = mysql_error()); 
return mysql_fetch_array($query, $this->DB_ID); // hier kommt der Fehler 
} 
function CloseConnection() { 
return mysql_fetch_array($this->DB_ID); 
} 

//********************************************************************/ 
$db = new MySQL($hostname, $port, $username, $password); 
$db->SelectDB($dbName); 
$query = $db->Query("SELECT * FROM editor_smilies ORDER BY smilies_id DESC"); 

$SmilieTbl = " <table>\n"; 

while($inhalt = $db->FetchArray($query)) { 
if (bcmod($i, 4) == 0) { 
$SmilieTbl = $SmilieTbl." </tr>\n <tr align=\"center\" valign=\"middle\">\n"; 
} 
$SmilieTbl = $SmilieTbl." <td><a href=\"javascript:emoticon('".$inhalt['code']."')\"><img src=\"../../images/smilies/".$inhalt[smile_url]."\" vspace=\"5\" hspace=\"5\" border=\"0\" alt=\"".$inhalt[emoticon]."\" title=\"".$inhalt[emoticon]."\" /></a></td>"; 
$i++; 
} 
$SmilieTbl = $SmilieTbl." </tr></table> \n";
Aber auf'm Webspace mit PHP 4.3.1 funktioniert das nciht mehr:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in klassen.php on line 44
Woran liegt das? An anderer Stelle funktioniert MYSQL_FETCH_ARRAY, allerdings ohne Verwendendung meiner kleinen Klasse, schon, nur hier in Verbindung mit der Klasse nicht... Könnt ihr mir helfen?

Edit. Wieso funktionieren denn die Code-Tags nicht?

Du hattest innerhalb des Code-BBcodes $inhalt[\code\] (ohne die Slashes) zu stehen, wodurch der BBcode nicht funktionierte. Ich hab´s mit $inhalt['code'] ersetzt, damit es funktioniert (eventuell vor dem übernehmen des Codes wieder umändern).
Acid

Verfasst: 04.01.2004 13:28
von Nico Haase
lass mal bei mysql_fetch_array() den zweiten parameter weg.

Verfasst: 04.01.2004 16:55
von Alexander123
Nö daran lag es nicht, glaube ich jedenfalls nciht, habe vergessen die Tabelle zu erstellen :oops: :oops