PHP, MYSQL select ... where mit Wert aus Variable
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
ausgeben
ausgegebenen inhalt
aussage
befehl
bessere art
code
dank
datenbank
direkter eingabe
erfolgreiches resultat
ergebnis
falschen forum
fehlermeldung
fenster
problem
umstellen
url
variable abfragen
veraltet gelten
-
Tut mir leid, das der Titel so konfus ist, aber ich kenne keine bessere Art das Problem zusammenzufassen.
Dies ist nur ein Ausschnitt, ich habe oben bereits $user mit einem richtigen Wert definiert und die MySql datenbank KORREKT aufgerufen. Tabellen usw sind auch korrekt, habe es ausprobiert.echo "$user"; $abfrage = "SELECT PW FROM USER_test WHERE Username = $user"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "$row->PW \n"; }
Mein Problem ist, das ich PW anhand von $user ausgeben möchte, was nicht funktioniert (Zeigt dann nichts an).
Ansonsten ist alles korrekt eingegeben, habe es anhand direkter Eingabe getestet.
Habt ihr eine Idee, wie ich nun PW anhand einer Variable abfragen kann? (Bin neu in PHP)
LG MrMyiu
EDIT: Hab das ausversehen unter dem falschen Forum gepostet, war für PHP, MYSQL gedacht
Beitrag zuletzt geändert: 27.5.2015 19:12:34 von mrmyiu -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
nunzunächst einmal könntest du auf mysqli umstellen (aus sicherheitsgründen)
dann könntest du dir $row über print_r($row); ausgeben lassen, vieleicht liegt es einfach nur an der bezeichnung
Ps: hier in diesem codebeispiel benötigst du auch kein while, es reciht auch wenn du
if($row = mysqli_fetch_object($ergebnis))
schreibst, dann kannst du noch auswerten, falls es nichts zurück bekommt -
mrmyiu schrieb:
$abfrage = "SELECT PW FROM USER_test WHERE Username = $user";
Versuche es doch bitte mal so:
$abfrage = "SELECT PW FROM USER_test WHERE Username = ".$user;
matthias-detsch schrieb:
nunzunächst einmal könntest du auf mysqli umstellen (aus sicherheitsgründen)
Und, weil die normalen "mysql" - Befehle seit PHP 5.5 als "veraltet" gelten und in einer nachfolgenden Version auch abgeschafft werden sollen -
webfreclan schrieb:
matthias-detsch schrieb:
nunzunächst einmal könntest du auf mysqli umstellen (aus sicherheitsgründen)
Und, weil die normalen "mysql" - Befehle seit PHP 5.5 als "veraltet" gelten und in einer nachfolgenden Version auch abgeschafft werden sollen
der befehl gilt als veraltet, weil er sicherheitslücken aufweist und deswegen ein nachfolger entwickelt wurde -
Wieso gibst du den Befehl nicht erstmal direkt im SQL-Fenster in PhpMyAdmin ein, und liest die Fehlermeldungen?
Beispielsweise bringt das hier ein erfolgreiches Resultat:
SELECT PW FROM `USER_test` WHERE Username = 'Richard'
Angewandt auf deinen PHP-Code würde das dann bedeuten:
$abfrage = "SELECT PW FROM `USER_test` WHERE Username = '$user'"
-
burgi schrieb:
Wieso gibst du den Befehl nicht erstmal direkt im SQL-Fenster in PhpMyAdmin ein, und liest die Fehlermeldungen?
Beispielsweise bringt das hier ein erfolgreiches Resultat:
SELECT PW FROM `USER_test` WHERE Username = 'Richard'
Angewandt auf deinen PHP-Code würde das dann bedeuten:
$abfrage = "SELECT PW FROM `USER_test` WHERE Username = '$user'"
mrmyiu schrieb:
Ansonsten ist alles korrekt eingegeben, habe es anhand direkter Eingabe getestet.
Seiner Aussage nach hat er es schon getestet -
matthias-detsch schrieb:
Seiner Aussage nach hat er es schon getestet
Dann widerlege ich das, weil ich gerade das mit seinen Datenbankzugangsdaten direkt in PhpMyAdmin getestet habe, erfolgreich wohlgemerkt.
Im Übrigen hat er keine Backticks oder Hochkommata beim Tabellennamen, also bezweifle ich, dass er genau das getestet hat. -
matthias-detsch schrieb:
burgi schrieb:
Wieso gibst du den Befehl nicht erstmal direkt im SQL-Fenster in PhpMyAdmin ein, und liest die Fehlermeldungen?
Beispielsweise bringt das hier ein erfolgreiches Resultat:
SELECT PW FROM `USER_test` WHERE Username = 'Richard'
Angewandt auf deinen PHP-Code würde das dann bedeuten:
$abfrage = "SELECT PW FROM `USER_test` WHERE Username = '$user'"
mrmyiu schrieb:
Ansonsten ist alles korrekt eingegeben, habe es anhand direkter Eingabe getestet.
Seiner Aussage nach hat er es schon getestet
eingeben = nochmal tippen ist immer sehr fehleranfällig
darüber hinaus findet man Fehler nicht, die bei der Abfrage durch eine $Variable kommen
da hilft folgender "Trick"
den so ausgegebenen Inhalt kopieren und dann direkt als SQL-Statement wieder einfügen und direkt ausführen!!!echo $abfrage;
Gruss Dunkeltuten
Beitrag zuletzt geändert: 28.5.2015 13:30:19 von dunkeltuten -
Habe jetzt rumprobiert, die Methode konnte mir helfen. Bin zu folgendem Ergebnis bekommen:
$abfrage = "SELECT PW FROM USER_test WHERE Username = '$user'";
Ich denke zwar, das ich das schonmal so getestet habe, aber jetzt gehts auf jeden Fall.
Danke an alle, LG MrMyiu -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage