philishake
javascript enthusiast
Cheers Leute,
ich bastel derzeit an einem CMS-System. Sozusagen als Training und als Tool für zukünftige Projekte. Dafür habe ich bereits eine Basis Website mit diversen Klassen und eigenem SQL-Framework programmiert. Mittlweile habe ich glaube ich schon zu lange meinen eigenen Code gesehen, sodass ich nicht in der Lage bin den folgenden Fehler zu finden. Es handelt sich um folgende Zeile Code:
Kurz zur Erklärung:
- $blubFramework ist ein Object der Klasse blubFramework
- getSQLManager() gibt ein SQL Object zurück, welches Zugriff auf verschiede SQL-Funktionen bietet
- sqlSelect ist eine simple SQL-Select-Abfrage in einer speraten Funktion mit speziellem Error-Handling
- die Werte in der Klammer muss man sich wie folgt vorstellen: ( WHAT, FROM, WHERE )
Die sqlSelect funktion wird bis zum aufkommen dieser Coder-Zeile schon mehrere Male verwendet. Ich habe auch extra einige Beispielabfragen in den Code eingebaut:
Alle diese Zeilen funktionieren tadellos. Ich habe mittlerweile auch herausbekommen, dass es immer Probleme gibt, wenn man bei Select-Abfragen nach dem Wert 'group' fragt. 'group' ist allerdings genau wie 'username' und 'password' ein normaler varchar(255).
Das ist der SQL-Fehler der auftritt, wenn ich nach der group frage:
Was einwandfrei funktioniert ist, wenn ich 'group' selbst als Rückfragewert haben will. Lediglich beim benutzen von 'group' als Bedingung für eine Werte-Abfrage bockt SQL rum.
Ich hoffe ich konnte alles ausführlich erklären und danke euch bereits für eure Hilfe.
ich bastel derzeit an einem CMS-System. Sozusagen als Training und als Tool für zukünftige Projekte. Dafür habe ich bereits eine Basis Website mit diversen Klassen und eigenem SQL-Framework programmiert. Mittlweile habe ich glaube ich schon zu lange meinen eigenen Code gesehen, sodass ich nicht in der Lage bin den folgenden Fehler zu finden. Es handelt sich um folgende Zeile Code:
PHP:
$blubFramework->getSQLManager()->sqlSelect (
"password", "account",
"username='".$_POST['username']."' AND group='admin' OR group='cmsAdmin'"
)
Kurz zur Erklärung:
- $blubFramework ist ein Object der Klasse blubFramework
- getSQLManager() gibt ein SQL Object zurück, welches Zugriff auf verschiede SQL-Funktionen bietet
- sqlSelect ist eine simple SQL-Select-Abfrage in einer speraten Funktion mit speziellem Error-Handling
- die Werte in der Klammer muss man sich wie folgt vorstellen: ( WHAT, FROM, WHERE )
Die sqlSelect funktion wird bis zum aufkommen dieser Coder-Zeile schon mehrere Male verwendet. Ich habe auch extra einige Beispielabfragen in den Code eingebaut:
PHP:
print "username = ".$blubFramework->getSQLManager()->sqlSelect("username","account","id='4' AND username='blub' OR username='test'")."<br>";
print "password = ".$blubFramework->getSQLManager()->sqlSelect("password","account","id='4' AND username='blub' OR username='test'")."<br>";
print "e-mail = ".$blubFramework->getSQLManager()->sqlSelect("email","account","id='4' AND username='blub' OR username='test'")."<br>";
print "group = ".$blubFramework->getSQLManager()->sqlSelect("group","account","id='4' AND username='blub' OR username='test'")."<br>";
Alle diese Zeilen funktionieren tadellos. Ich habe mittlerweile auch herausbekommen, dass es immer Probleme gibt, wenn man bei Select-Abfragen nach dem Wert 'group' fragt. 'group' ist allerdings genau wie 'username' und 'password' ein normaler varchar(255).
Das ist der SQL-Fehler der auftritt, wenn ich nach der group frage:
Code:
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 'group='admin' OR group='cmsAdmin'' at line 1
Was einwandfrei funktioniert ist, wenn ich 'group' selbst als Rückfragewert haben will. Lediglich beim benutzen von 'group' als Bedingung für eine Werte-Abfrage bockt SQL rum.
Ich hoffe ich konnte alles ausführlich erklären und danke euch bereits für eure Hilfe.