kostenloser Webspace werbefrei: lima-city


mysql_fetch_row() ... wie in PHP5?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s*****0

    Hallo ihr lieben,

    ich habe ein bestimmtes Problem, und zwar läuft mein ursprüngliches Portal (http://sfl2000.lima-city.de - ist in php4 geschrieben) bis zum Login prima, aber dann gibt es ein Problem mit diesem Part hier:

    function fetch_row($resource) {
    
    $result = mysql_fetch_row($resource);
    return $result;


    Das passiert, sobald ich mich einlogge. Dann gelange ich in eine Endlosschleife mit dieser Meldung:
    mysql_fetch_row(): supplied argument is not a valid MySQL result resource
    in Datei: /home/webpages/lima-city/sfl2000/html/newsfl/content/class/database/mysql.php
    in Zeile: 151


    ...wobei die Zeile 151 von obigem Code diese hier:
    $result = mysql_fetch_row($resource);

    ist.

    Ihr habt mir schon bei meinem Datenbankauslesetextgenerierungsscript so super geholfen - den Fehler habe ich mittlerweile gefunden (Variable falsch benannt, haha).

    Habt ihr eine Ahnung, was da das Problem ist?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. n********r

    Was steht den in $ressource drinne?
    In deinem Code steht nirgends, wo du was in diese Variable rein lädst.
  4. Autor dieses Themas

    s*****0

    Uff. Gute Frage, wenn man sich wie ich in php zu 1% auskennt... :slant:

    Wie finde ich raus, wo es das reinlädt?
  5. sfl2000 schrieb:
    Uff. Gute Frage, wenn man sich wie ich in php zu 1% auskennt... :slant:

    Wie finde ich raus, wo es das reinlädt?


    Da müsste irgendwo ein Codeschnippsel sein, der in etwa so aussieht:

    $resource= "Select * from ...:";


    Kann aber auch ein anderes SQL-Statement sein mit den Befehlen Update, Delete, o.ä.
    Eine Zuweisung der Variable mit SQL-Statement eben.

    Beitrag zuletzt geändert: 14.1.2010 12:22:46 von karpfen
  6. karpfen schrieb:
    Da müsste irgendwo ein Codeschnippsel sein, der in etwa so aussieht:

    $resource= "Select * from ...:";


    Kann aber auch ein anderes SQL-Statement sein mit den Befehlen Update, Delete, o.ä.
    Eine Zuweisung der Variable mit SQL-Statement eben.

    Moment mal :)
    Muss kurz klugscheißen:
    $resource = mysql_query("SELECT * FROM...;");

    Sonst ist es ja keine "Ressource" :)

    MfG,
    dex (qap2-Team)
  7. Autor dieses Themas

    s*****0

    Ich habe nun den KOMPLETTEN Webspace runtergeladen und mit dem Proton-Editor via "Dateiübergreifendes Suchen" geschaut, wo $resource generiert wird - doch außer in der Datei, die so...

    <?php
    // $Id: mysql.php,v 1.12 2003/07/11 02:05:35 half-dead Exp $
    // ------------------------------------------------------------------------- //
    //               E-Xoops: Content Management for the Masses                  //
    //                       < http://www.e-xoops.com >                          //
    // ------------------------------------------------------------------------- //
    // Original Author: Half-Dead
    // Author Website : http://www.e-xoops.com
    // License Type   : Proprietary: See /manual/LICENSES/E-Xoops.txt
    // ------------------------------------------------------------------------- //
    
    if ( !defined("SQL_LAYER") ) {
    	define("SQL_LAYER", "mysql");
    
    include_once(XOOPS_ROOT_PATH."/class/database.php");
    
    //---------------------------------------------------------------------------------------//
    /**
    * Description
    *
    * @param type $var description
    * @return type description
    */
    class Database extends AbsDatabase {
    
    	var $db_connect;
    	var $query_log;
    
    //----------------------------------------------------------------------------------------//
    function connect($server, $user, $pass, $persistent=0) {
    	!empty($persistent) ? $this->db_connect = mysql_pconnect($server, $user, $pass) : $this->db_connect = mysql_connect($server, $user, $pass);
    	return $this->db_connect;
    }
    
    //----------------------------------------------------------------------------------------//
    function select_db($db) {
    	return mysql_select_db($db, $this->db_connect);
    }
    
    //----------------------------------------------------------------------------------------//
    function close() {
    	return mysql_close($this->db_connect);
    }
    
    //------------------------------------------------------------------------------------------//
    function query($sql, $limit=0, $start=0) {
    
    if ( ($this->debug & 8) || ($this->debug & 16) ) {
    	$this->query_log[] = $sql;
    	} else {
    		$this->query_log[] = 0;
    	}
    
    if ( !empty($limit) ) {
    	if (empty($start)) {
    		$start = 0;
    	}
    	$sql = $sql. " LIMIT ".intval($start).",".intval($limit)."";
    }
    
    if ($this->debug & 16) {
    	if ( function_exists('xdebug_call_function') ) {
    		if ( function_exists('xdebug_call_class') ) {
    			if ($caller_class = xdebug_call_class()) {
    				$output = "<b>".$caller_class." ::</b> ";
    	}
    		}
    		$output .= "<b>".xdebug_call_function()."()</b><br />";
    	}
    	$output .= count($this->query_log).": ".$sql;
    
    	$this->bg = ($this->bg == 'bg3') ? $this->bg = 'bg1' : $this->bg = 'bg3';
    	echo "<div align='left' style='border-top:1px dashed #003030; padding: 3px;' class='".$this->bg."'>".$output."</div>";
    }
    
    $result = mysql_query($sql, $this->db_connect);
    return $result;
    }
    
    //---------------------------------------------------------------------------------------//
    /**
    * Depracted, use $db->query()
    */
    function queryF($sql, $limit=0, $start=0) {
    
    $result = $this->query($sql, $limit, $start);
    return $result;
    }
    
    //------------------------------------------------------------------------------------------//
    // query should be rewritten to include this;
    function genId($sequence) {
    	return 0;
    }
    
    //------------------------------------------------------------------------------------------//
    function affected_rows() {
    
    $result = mysql_affected_rows($this->db_connect);
    return $result;
    }
    
    //------------------------------------------------------------------------------------------//
    function num_rows($resource) {
    
    $result = mysql_num_rows($resource);
    return $result;
    }
    
    //------------------------------------------------------------------------------------------//
    function num_fields($resource) {
    
    $result = mysql_num_fields($resource);
    return $result;
    }
    
    //------------------------------------------------------------------------------------------//
    function field_name($resource, $index) {
    
    $result = mysql_field_name($resource, $index);
    return $result;
    }
    
    //------------------------------------------------------------------------------------------//
    function field_type($resource, $offset) {
    
    $result = mysql_field_type($resource, $offset);
    return $result;
    }
    
    
    //------------------------------------------------------------------------------------------//
    function fetch_array($resource) {
    
    $result = mysql_fetch_array($resource);
    return $result;
    }
    
    
    //------------------------------------------------------------------------------------------//
    function fetch_object($resource) {
    
    $result = mysql_fetch_object($resource);
    return $result;
    }
    
    
    //------------------------------------------------------------------------------------------//
    function fetch_row($resource) {
    
    $result = mysql_fetch_row($resource);
    return $result;
    }
    
    //------------------------------------------------------------------------------------------//
    function insert_id() {
    
    $result = mysql_insert_id($this->db_connect);
    return $result;
    }
    
    //------------------------------------------------------------------------------------------//
    function error() {
    
    if ($this->debug & 1) {
    	$result = mysql_errno($this->db_connect) . ": " . mysql_error($this->db_connect);
    	return $result;
    }
    }
    
    //------------------------------------------------------------------------------------------//
    } // END CLASS
    //------------------------------------------------------------------------------------------//
    } // END DEFINE
    ?>


    ...aussieht, iist absolut nichts zu finden. Die restlichen Verbindungen zur Datenbank scheinen ja zu funktionieren, denn es lassen sich alle Artikel aufrufen, und auch das Registrier- und Suchformular funktioniert 1A. Nur beim Login kommt dann das übliche Problem.

    (Loggt euch einfach mal auf http://sfl2000.lima-city.de links unten ein, habe einen Dummy-Account erstellt

    User: dummy0815
    Pass: kaese

    Hmpf. Auf dem alten Webspace geht das alles, ist wohl eine Inkompatibilitätskiste.


    EDIT:
    So, also ich bin dem Problem eventuell schon auf der Spur. Mir ist beim Durchforsten der Datenbank und einigen der php-Scripte des Portals aufgefallen, dass die Domain noch die des anderen Servers war. Nach dem teilweisen Suchen und Ersetzen innerhalb der Datenbank ist die Endlosschleife schon mal weg und ich fliege "nur" sofort wieder raus.

    Ich habe mir nun die Datenbank noch mal komplett gesaugt, ebenso ändere ich in allen php- und sonstigen Dateien durch "Dateiübergreifendes Ersetzen" (Proton ist ein verdammt toller Editor, hehe) die alte Domain durch die neue - ich werde mich hier melden, ob es geklappt hat.

    Beitrag zuletzt geändert: 14.1.2010 23:32:37 von sfl2000
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!