Gültigkeitsbereich mysql_error()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gültigkeitsbereich mysql_error()

    Nabend,

    habe folgende Klasse geschrieben.

    PHP-Code:
    class query
    {
    var 
    $link;
    var 
    $query;
    var 
    $res;
    var 
    $rows;
    var 
    $query_string;

    function 
    query($query)
     {
     
    $this->query_string $query;
     
    $this->link = @mysql_connect($GLOBALS["mysqlhost"], $GLOBALS["mysqluser"], $GLOBALS["mysqlpwd"]) or die(log_error(__FILE____LINE__mysql_error($this->link), "mysql_error"));
                    @
    mysql_select_db($GLOBALS["mysqldb"], $this->link)  or die(log_error(__FILE____LINE__mysql_error($this->link), "mysql_error"));
     
    $this->query= @mysql_query($query)  or die(log_error(__FILE____LINE__mysql_error($this->link)."-FOR-".$this->query_string"mysql_error"));
     }

    function 
    res()
     {
     
    $this->res = @mysql_fetch_array($this->query)  or die(log_error(__FILE____LINE__mysql_error($this->link)."-FOR-".$this->query_string"mysql_error"));
     return 
    $this->res;
     }

    function 
    rows()
     {
     
    $this->rows = @mysql_num_rows($this->query)  or die(log_error(__FILE____LINE__mysql_error($this->link)."-FOR-".$this->query_string"mysql_error"));
     return 
    $this->rows;
     }


    Sinn dürfte denke ich jedem Auffallen. Die Funktion log_error() soll nachher evt. Fehler in eine Datei schreiben, allerdings kommt mysql_error() da nicht an. Ich weiß allerdings nicht, woran das liegen könnte, zu mal der Link-identfier ja auch übergeben wurde, also auch klar is, um welche Verbindung es sich handelt. Ich hatte schon einige Male Probleme mit der Ausgabe von mysql_error(); obwohl es sich ganz eindeutig um einen MySQL-Fehler handelte.

  • #2
    ich denke mal, dass durch dein die() das ganze script abgetötet wird und php gar nicht mehr erst dazu kommt, irgendwas anderes zu machen....
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      nicht ganz, mysql_num_rows() gibt ja wenn keine Zeilen gefunden wurden false zurück, somit tritt auch der die()-Fall ein, es handelte sich als nicht um einen MySQL-Fehler

      Kommentar


      • #4
        und was passiert, wenn du das @ davor entfernst? schliesslich ist das durch die() flüssiger als wasser.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar

        Lädt...
        X