Mysql Abfrage und $this ...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
airport
array
check
code
fehler
fehlermeldung
glauben
manual
problem
server
set
sinn
status
syntax
taste
text
update
url
versuch
zeile
-
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? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
volnerius schrieb:
laut fehlermeldung - nein -. du hast einen mysql-fehler.
... Das Problem daran ist glaube ich, dass wenn $this -> ID ...
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage