Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP+MySQL] MySQL_Fetch_Array (https://www.delphipraxis.net/14188-%5Bphp-mysql%5D-mysql_fetch_array.html)

Alexander 4. Jan 2004 11:54


[PHP+MySQL] MySQL_Fetch_Array
 
Hi,
ich glaube ich drehe ncoh durch :spin2: :spin:
Auf meinem lokalen Linux-Server mit Apache und PHP 4.2 funkcitoniert folgendes probelmlos:
Code:
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());
  [b] return mysql_fetch_array($query, $this->DB_ID); [/b]// 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:
Code:
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?

mirage228 4. Jan 2004 11:56

Re: [PHP+MySQL] MySQL_Fetch_Array
 
das heisst, das das query kein gültiges ergebnis geliefert hat. sprich, das $result, dass du dem fetch_array übergibst, nicht ok ist.

Überprüfe mal den query.

EDIT: In der Zeile drüber ist die Zuweisung an $sql auskommentiert. Du musst dann glaube ich auch $sql an fetch_array übergeben.

mfG
mirage228

Alexander 4. Jan 2004 12:10

Re: [PHP+MySQL] MySQL_Fetch_Array
 
Zitat:

EDIT: In der Zeile drüber ist die Zuweisung an $sql auskommentiert. Du musst dann glaube ich auch $sql an fetch_array übergeben.
Nene das ist soweit ok. Da ich den Aufruf dahingehend manipuliert habe...

mirage228 4. Jan 2004 12:14

Re: [PHP+MySQL] MySQL_Fetch_Array
 
Schau dir mal die Deklaration von fetch_array an

Code:
array mysql_fetch_array ( resource Ergebnis-Kennung [, int Ergebnistyp])
EDIT: Link: http://de3.php.net/manual/de/functio...etch-array.php

du brauchst als ersten parameter keinen query, sondern einen mysql result, den z.B. durch ein mysql_query erhälst.

mfG
mirage228

Alexander 4. Jan 2004 12:28

Re: [PHP+MySQL] MySQL_Fetch_Array
 
Stimmt schon, aber schau dir mal das hier an:
Code:
$db = new MySQL($hostname, $port, $username, $password);
$db->SelectDB($dbName);
[b]$query = $db->Query("SELECT * FROM editor_smilies ORDER BY smilies_id DESC"); [/b]


$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++;

mirage228 4. Jan 2004 12:35

Re: [PHP+MySQL] MySQL_Fetch_Array
 
Du könntest gucken, ob der Datenbankname / Inhalt auf deinem Space sich von deiner lokalen Installation unterscheidet.

EDIT:
In der Funktion Query, muss es nicht "mysql_query" (kleingeschrieben) heissen?
Vielleicht macht das Probleme, da PHP case-sensitive ist...

mfG
mirage228

Alexander 4. Jan 2004 12:42

Re: [PHP+MySQL] MySQL_Fetch_Array
 
Nö eigentlich nicht ...
Aber ich glaube, du hast mir gerade die Lösung genannt:
Zitat:

Du könntest gucken, ob der Datenbankname / Inhalt auf deinem Space sich von deiner lokalen Installation unterscheidet.
Ich habe die SQL-Tabelle noch gar nicht erstellt :oops: :oops: :wall:
Mein Gott wie kann man nur so doof sein :mrgreen:

Chewie 4. Jan 2004 12:42

Re: [PHP+MySQL] MySQL_Fetch_Array
 
Zitat:

Zitat von mirage228
In der Funktion Query, muss es nicht "mysql_query" (kleingeschrieben) heissen?
Vielleicht macht das Probleme, da PHP case-sensitive ist...


... Aber nicht bei Funktionen :wink: (nur bei Methoden :shock: ). Außerdem käme dann die Meldung "undeclared function" oder so etwas in der Art.

Alexander 4. Jan 2004 12:50

Re: [PHP+MySQL] MySQL_Fetch_Array
 
Anscheinend funktioniert es immer ncoh nciht :gruebel:
Edit: Jetzt schon ich musste, die gespeicherte ID weglassen :gruebel:
Ist die schon im Query enthalten?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz