PHP Warnings(mysql_fetch_array)

  • Hallo liebe Community,
    ich habe ein problem das ich nicht lösen kann da ich noch ziemlich neu in PHP bin.
    Ich hab schon eingies versucht aber ich finde keine Lösung...


    PHP
    Linie 16: $db_res = $this->database("SELECT * FROM users WHERE Username='". $username ."'");Linie 17: $row=mysql_fetch_array($db_res,MYSQL_ASSOC);                                   	Linie 18: $_SESSION['isLoggedIn']=true;                                                  	Linie 19: $_SESSION['Username']=$row['Username'];                                        	Linie 20: return(true);


    immer folgende Error Meldung:



    Zitat

    Fatal error: Call to undefined method LoginSystem::database() on line
    16

    ____________________________________________________________________________________________
    Dann hab ich mir gedacht das ich eventuell in Linie 16 nach dem database ein = setzten muss:


    PHP
    Linie 16: $db_res = $this->database=("SELECT * FROM users WHERE Username='". $username ."'");Linie 17: $row=mysql_fetch_array($db_res,MYSQL_ASSOC);                                   	Linie 18: $_SESSION['isLoggedIn']=true;                                                  	Linie 19: $_SESSION['Username']=$row['Username'];                                        	Linie 20: return(true);


    Nun kommen folgende Warnung:

    Zitat

    Warning: mysql_fetch_array() expects parameter 1 to be resource, string
    given on line
    17

    Wäre nett wenn mir jemand helfen könnte und auch erklären können warum das so ist.

  • Was für eine Klasse verwendest du denn da? Das ist kein MySQLi und auch kein PDO, welche die geläufigsten OO-MySQL-Klassen sind.

  • Dein Lösungsvorschlag kann gar nicht funktionieren:
    Dadurch, dass du ein = gemacht hast, weist du der Variable $db_res den String zu (Aber auch nur weil PHP sehr tolerant ist ^^),was dazu führt, dass die Funktion mysql_fetch_array nichts mit der Variable anfangen kann, da diese ein String ist.


    Mein Lösungsvorschlag wäre, die Klasse 'LoginSystem' zu durchsuchen und zu schauen, ob in dieser wirklich eine Funktion mit dem Namen 'database' vorkommt.


    //Edit: Rechtschreibung

    Einmal editiert, zuletzt von Florian77711 () aus folgendem Grund: Rechtschreibung