@?

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

  • @?

    Ich habe gerade in einem anderen Programm folgendes gesehen:

    @mysql_query($query,$link);

    Was bedeutet das @ davor?
    Habe sowas noch nie in PHP gesehen.

  • #2
    @ unterdrück die Fehlerausgabe

    Kommentar


    • #3
      Sowas ist sehr sinnvoll, wenn du dir eine eigene Klasse für die Arbeit mit der DB anlegst. So kannst du die Fehlerausgabe unterdrücken und dann später eine eigene Fehlerbehandlung aufrufen, mit der du zum Teil wesentlich genauer anzeigen kannst, wo der Fehler entstanden ist.

      Manchmal ist es auch wünschenswert, wenn die User nicht die Standardfehlermeldung zu sehen bekommen. So kannst du dann deinen eigene Fehlerausgabe anzeigen lassen.

      Kommentar


      • #4
        @Opa:

        Wo du gerade die DB Klasse ansprichst. Hast zu zufällig eine auf Lager? Wollte mich da mal in den Ferien rantasten, und ne Klasse für die DB-Connections halte ich für ganz sinnvoll, und vorallem auch gut geeignet für den Anfang.

        Kommentar


        • #5
          Ja logisch!
          Hab jetzt keine am Rechner an der Uni. Poste dann aber gleich mal eine.
          Das spart echt wahnsinnig viel arbeitsaufwand.
          Wenn du zBsp nen Query machen willst, sieht das bei mir nur noch so aus...

          $select=$DB_klasse("SELECT * FROM irgentwas");

          Wie gesagt, zeige dir nachher gleich mal ein Beispiel...

          Kommentar


          • #6
            PEAR DB ABSTRACTION:

            http://pear.php.net/package-info.php?pacid=46
            -- Bat[e] / pixelcore.com

            Kommentar


            • #7
              PHP-Code:
              <?php
              class DB_Sql {
                
               var 
              $server   "";
               var 
              $user     "";
               var 
              $password "";
               var 
              $database "";
               var 
              $link_id  0;
               var 
              $query_id 0;
               var 
              $record   = array();
               var 
              $queries = array();
               var 
              $errdesc    "";
               var 
              $errno   0;
               var 
              $show_error 1;

              function 
              db($server,$user,$password,$database,$phpversion=4) {
                
              $this->server=$server;
                
              $this->user=$user;
                
              $this->password=$password;
                
              $this->database=$database;
                
              $this->phpversion=$phpversion;
                
              $this->connect();
               }    
                
               function 
              connect() {
                
              $this->link_id=mysql_connect($this->server,$this->user,$this->password);
                if (!
              $this->link_id$this->error("Link-ID == false, connect failed");
                if (
              $this->database!=""$this->select_db($this->database);
               }

              function 
              select_db($database="") {
                if (
              $database!=""$this->database=$database;
                if(!@
              mysql_select_db($this->database$this->link_id)) $this->error("cannot use database ".$this->database);
               }

               function 
              query($query_string,$limit=0,$offset=0) {
                if(
              $limit!=0$query_string.=" LIMIT $offset$limit";
                
              $this->queries[]="$query_string";
                
              $this->query_id mysql_query($query_string,$this->link_id);
                if (!
              $this->query_id$this->error("Invalid SQL: ".$query_string);
                return 
              $this->query_id;
               }
              function 
              close() {
                    
              // closes connection to the database

                  
              return mysql_close();
                }
               
               function 
              error($errormsg) {
                
              $this->errdesc=mysql_error();
                
              $this->errno=mysql_errno();
                          
                
              $errormsg="<b>Database error-message:</b> $errormsg\n<br>";
                
              $errormsg.="<b>mysql error:</b> $this->errdesc\n<br>";
                
              $errormsg.="<b>mysql error number:</b> $this->errno\n<br>";
                
              $errormsg.="<b>Date:</b> ".date("d.m.Y @ H:i")."\n<br>";
                
              $errormsg.="<b>Script:</b> ".getenv("REQUEST_URI")."\n<br>";
                
              $errormsg.="<b>Referer:</b> ".getenv("HTTP_REFERER")."\n<br><br>";

                if(
              $this->show_error$errormsg "$errormsg";
                else 
              $errormsg "\n<!-- $errormsg -->\n";
                die(
              "</table><font face=\"Verdana\" size=2><b>SQL-DATABASE ERROR</b><br><br>".$errormsg."</font>");
               }
              }
              Das ist keinesfalls ein Beispiel was ich selbst "erfunden" habe. Denn keiner erfindet das Rad zweimal.
              Das nurmal um ein Beispiel zu zeigen, wie es aussehen könnte.
              Natrülich ist das noch nicht vollständig. Aber damit solltest du in der Lage sein, dir die für dich noch wichtigen Zugriffe selbst zu schreiben.

              Falls du was nicht verstehst oder doch noch etwas bracuhst, weisste ja was du machen musst...

              Kommentar


              • #8
                Jo, Vielen Dank!

                Da werd ich mich gleich mal in mein dunkles Kämmerchen vierziehen. Kann ja eigentlich nicht so schwer sein, wenn man PHP kann. Und falls doch, komme ich wieder!

                Bis dann, nochmal danke!

                Kommentar

                Lädt...
                X