# mySQL PHP Select-Datenabfrage aus der Datenbank



## D-LuX (14. September 2007)

Hallo Leute ..

kurz vorm Wochenende steh ich aufm Schlauch :suspekt:

Wiesooo geht das nicht? *g*

ich möchte nach erfolgreichem Login alle dazugehörigen Daten aus der Datenbank ausgeben, quasi als Profil auf der Seite 


```
$abfrage = mysql_query("SELECT * FROM users 
                                                     WHERE  user_nick = '($user_nick)' 
                                                    AND `user_passwort` = '($user_passwort)' ");
                          
            $ergebnis = mysql_fetch_row($abfrage);
           echo $ergebnis;
           
           echo mysql_error ();

           mysql_close($db);
```


----------



## Gumbo (14. September 2007)

Was genau geht denn nicht?


----------



## Flex (14. September 2007)

Möglicherweise liegt es daran, dass $ergebnis ein Array ist und somit nicht mit [phpf]echo[/phpf] ausgegeben werden kann (zumindest nicht ohne ein Feld anzusprechen).

Versuchs mal zum testen mit [phpf]print_r[/phpf] oder sprich ein Feld an:


```
echo $ergebnis['0'];
```

Wobei 0 für das erste Feld deiner MySQL Tabelle steht.

/Nachtrag:
Mein Fehler, Post korrigiert. Danke Gumbo.


----------



## Gumbo (14. September 2007)

Die mysql_fetch_row()-Funktion gibt nur ein numerisches Array wieder. Soll das Array assoziative Schlüssel haben, solltest du die mysql_fetch_assoc()-Funktion nutzen.


----------



## D-LuX (15. September 2007)

Felix Jacobi hat gesagt.:


> Möglicherweise liegt es daran, dass $ergebnis ein Array ist und somit nicht mit [phpf]echo[/phpf] ausgegeben werden kann (zumindest nicht ohne ein Feld anzusprechen).
> 
> Versuchs mal zum testen mit [phpf]print_r[/phpf] oder sprich ein Feld an:
> 
> ...



Also:

[phpf]print_r[/phpf] ergibt ausgabe -->  Resource id #3


```
echo $ergebnis['0'];
```
 ergibt ausgabe -->  garnix 

mysql_fetch_assoc gibt ebenfalls keine Ausgabe ..

Also ich habe ein Login.
PW und Username stehen in der DB.
Nach Login sollen alle zusätzlichen Daten des Users, wie Adresse, Telefon etc. auf der Profilseite ausgegeben werden ...


----------



## Gumbo (15. September 2007)

Was liefert denn Folgendes:
	
	
	



```
$abfrage = mysql_query("SELECT * FROM `users` WHERE `user_nick` = '".mysql_real_escape_string($user_nick)."' AND `user_passwort` = '".mysql_real_escape_string($user_passwort)."'");
$ergebnis = mysql_fetch_row($abfrage);
var_dump($ergebnis);
```
Ich hoffe übrigens, dass du das Kennwort nicht als Klartext speicherst.


----------



## D-LuX (15. September 2007)

Moin Gumbo 

Also noch speichere ich das PW als Klartext, wollte dies aber noch ändern.

Ausgabe gibt folgendes: 
	
	
	



```
bool(false)
```


----------



## Gumbo (15. September 2007)

Dann scheint wohl die Datenbankabfrage fehlzuschlagen oder keinen Datensatz zu liefern.


----------



## D-LuX (15. September 2007)

```
$abfrage = mysql_query("SELECT * FROM `users` WHERE `user_nick` = '".$_SESSION['user_nick']."'");
$ergebnis = mysql_fetch_row($abfrage);
var_dump($ergebnis);
```


Jetzt habe ich eine Ausgabe ..


```
array(16) { [0]=>  string(1) "8" [1]=>  string(7) "user_name" [2]=>  string(4) "user_passwort [3]=>  string(7) "user_nick" [4]=>  string(6) "user_nachname" [5]=>  string(15) "user_strasse [6]=>  string(5) "user_plz" [7]=>  string(4) "user_ort" [8]=>  string(10) "user_telefon" [9]=>  string(17) "user_email [10]=>  string(0) "" [11]=>  string(0) "" [12]=>  string(0) "" [13]=>  string(0) "" [14]=>  string(0) "" [15]=>  string(0) "" }
```

Wie krieg ich jetzt das jetzt, dass ich nur die Daten kriege, ohne string(zahl)


----------



## Gumbo (15. September 2007)

Die var_dump()-Funktion ist nur eine Hilfsfunktion, die Informationen des übergebenen Werts liefert. Sie diente in diesem Fall nur der Prüfung, ob die $ergebnis-Variable den erwarteten Wert hat.


----------

