Seite 1 von 3

PHP: MySQL DB auslesen.

Verfasst: Mi Jan 20, 2010 7:26 pm
von naums
Ich will während ich aus der DB abfrage direkt eine Suche machen. Folgendes:

Code: Alles auswählen

SELECT
   username,
   password
FROM
   user;
Hier will ich nach dem username: naums suchen (wie ich das in einem Formular auf der HP eingegebn habe.) dann will ich das Passwort von dem naums in der DB mit dem Naums, der sich anmeldet vergleichen. Das ist ja mit dem Array ganz einfach möglich.

Re: PHP: MySQL DB auslesen.

Verfasst: Mi Jan 20, 2010 8:05 pm
von cloidnerux
http://www.php-einfach.de/einf_mysql.php
Da steht alles was du wissen musst über MySQL Datenbanken und PHP.

Re: PHP: MySQL DB auslesen.

Verfasst: Mi Jan 20, 2010 8:43 pm
von stampuhh

Code: Alles auswählen

SELECT
   username,
   password
FROM
   user 
WHERE username = 'naums'
wichtig ist aber dass du auch sicher bist, dass da wirklich naums eingegeben wurde. Nie die Eingabe aus dem Formular direkt in den String einbauen!!

gruß stampuhh

Re: PHP: MySQL DB auslesen.

Verfasst: Mi Jan 20, 2010 8:57 pm
von naums
warum sollte ich die nie direkt eingeben?

Re: PHP: MySQL DB auslesen.

Verfasst: Mi Jan 20, 2010 8:59 pm
von naums
und viel wichtiger: warum funktioniert der Code nich:

Code: Alles auswählen

$connect = mysql_connect('localhost', 'pma', '');
mysql_select_db("naums-proj");

$abfrage = "SELECT username, pswd FROM user WHERE username='naums'";
$ergebnis = mysql_query($abfrage);
while($avail = mysql_fetch_array($ergebnis))
{
    echo $avail;
}
if ($pswd==$avail['pswd'])
{
    $login=true;
}

mysql_close();

Re: PHP: MySQL DB auslesen.

Verfasst: Mi Jan 20, 2010 9:25 pm
von stampuhh
tja...hast du den debug modus an? Dann könnte der dir evtl Hinweise geben ;)
Ich kann jetzt nur rätseln wenn es kein Schreibfehler ist...ich benutze normalerweise MySQLi für php.
warum sollte ich die nie direkt eingeben?
So etwas nennt man sicheres Programmieren ;)
Wenn der User nämlich mal nicht seinen Namen eingibt sondern anderen Blödsinn würde er damit deine MySQL Abfrage umbauen können und das willst du sicherlich nicht.

gruß stampuhh!

Re: PHP: MySQL DB auslesen.

Verfasst: Mi Jan 20, 2010 11:05 pm
von Dubbel
Im Wiki steht ein außergewöhnlich toller Artikel über PHP, MySQL und Sicherheit. ;) :P

Zu deinem Code: Was passiert, wenn du print_r($avail); nach der while-Schleife ausgibst?

Re: PHP: MySQL DB auslesen.

Verfasst: Do Jan 21, 2010 4:47 am
von bbbl
Dubbel hat geschrieben:Was passiert, wenn du print_r($avail); nach der while-Schleife ausgibst?
Nichts, da $avail nur innerhalb der While-Schleife existiert.

Eine Lösung wäre beispielsweise, einfach die IF-Abfrage in die WHILE-Schleife zu packen..

Re: PHP: MySQL DB auslesen.

Verfasst: Do Jan 21, 2010 7:31 am
von stampuhh
Reicht es nicht das ganze ohne while Schleife zu schreiben?
Der Eintrag sollte doch eindeutig sein und somit die Abfrage eh nur einen Eintrag liefern.

gruß stampuhh

Re: PHP: MySQL DB auslesen.

Verfasst: Do Jan 21, 2010 9:10 am
von bbbl
Ah.. genau, die While-Schleife ist hier wirklich unnötig..