kostenloser Webspace werbefrei: lima-city


Mysql Abfrage und $this ...

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    volnerius

    volnerius hat kostenlosen Webspace.

    Hallo,

    Ich taste mich ja gerade an OOP ran und dabei überraschte mich heute schon wieder ein Fehler. Der Code sieht folgendermaßen aus:
    $this -> DB -> query('UPDATE airports Set status=\'5\' WHERE ID = \'$this -> ID\'');

    Das Problem daran ist glaube ich, dass wenn $this -> ID in \'\' steht, es als Text und nicht Variable erkannt wird. Aner wenn ich nun die \'\' weglasse, passiert auch nichts und es kommt mit mysql_error() die Fehlermeldung:
    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 '> ID'

    Was ist nun die richtige Lösung?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. volnerius schrieb:
    Hallo,

    Ich taste mich ja gerade an OOP ran und dabei überraschte mich heute schon wieder ein Fehler. Der Code sieht folgendermaßen aus:
    $this -> DB -> query('UPDATE airports Set status=\'5\' WHERE ID = \'$this -> ID\'');

    Das Problem daran ist glaube ich, dass wenn $this -> ID in \'\' steht, es als Text und nicht Variable erkannt wird. Aner wenn ich nun die \'\' weglasse, passiert auch nichts und es kommt mit mysql_error() die Fehlermeldung:
    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 '> ID'

    Was ist nun die richtige Lösung?

    Versuch es mal so:
    $this -> DB -> query("UPDATE airports SET status = '5' WHERE ID = '".$this->ID."'");

    Ich habe jetzt nur die "Syntax" geändert, den Sinn dahinter nicht, vielleicht liegt der Fehler auch dort, kann ich aber aus einer Zeile Code nicht schließen...

    Beitrag zuletzt geändert: 13.7.2011 17:00:59 von alfr3d
  4. volnerius schrieb:
    ... Das Problem daran ist glaube ich, dass wenn $this -> ID ...
    laut fehlermeldung - nein -. du hast einen mysql-fehler.

    in einer klasse kannst so etwas in etwa so verhindern:
    public function query($query) {
      $this->result = ($r = mysql_query($query)) ?
        $r:
        $this->error();
    }
    
    private function error() {
      $this->error = array(mysql_errno(), mysql_error());
      exit('<pre>'.print_r($this->error, true));
    }


    lg

    Beitrag zuletzt geändert: 14.7.2011 14:03:01 von hemiolos
  5. 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!