Problem mit meinem ersten Php Script

  • Guten Abend und zwar lerne ich seit gestern PHP und versuche mich an einem login Script, bin auch eigentlich fertig nur sagt er mir bei meinem Login prüfen nun folgendes .

    Code
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\bestafungssystem\inc\login.inc.php on line 36

    Hier mal das Script

    Ich verstehe nur nicht wo der fehler ist, ich habe alles nach Anleitung gemacht, wäre froh wenn mir jemand dabei helfen könnte.

    2 Mal editiert, zuletzt von blackbox100 (14. Oktober 2011 um 23:59)

  • Einen Euro für jedes Script, das ich in der Art umgeschrieben habe und ich würde mir heute ein schickes Auto bestellen. Wo lernt ma eigentlich so einen unsauberen Stil?

  • Zu schnell geschossen, da ist noch ein Bug drin:

  • Jetzt bringt er mir das hier

    Code
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\bestafungssystem\inc\login.inc.php on line 48
     MYSQL-ERROR:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''b_admin' WHERE 'session' = '6gn8argin27af5pu5js1nm01d3'' at line 1

    und der abschnitt soll dieser hier sein

    Code
    /*Login prüfen*/
    function eingeloggt() {
    $session = session_id();
    $sql = mysql_query("SELECT 'id' FROM 'b_admin' WHERE 'session' = '$session'"); 
    return mysql_num_rows($sql) or die ("MYSQL-ERROR:" . mysql_error());
    mysql_error();
    }
  • Wo gehört das mit dem mysql_error hin und wieso benutzt du schon wieder ' anstatt `????

  • Die ' sind drinne weil es auch so im tutorial gemacht wurde aber meinste daran kann es vielleicht liegen?

    edit: habs jetzt geändert doch es ist komisch er sagt mir ständig das der Query leer sei.
    ich verstehs echt nicht wo liegt der fehler

    Einmal editiert, zuletzt von blackbox100 (15. Oktober 2011 um 16:38)

  • er sagt mir ständig das der Query leer sei.


    Ich sehe nicht, wo das passieren sollte. Da hilft wohl nur

    Richtig debuggen

    Man bemerkt, dass ein Skript nicht das tut, was es soll.
    Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.