php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.01.2012, 20:04  
Neuer Benutzer
 
Registriert seit: 31.10.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
embed befindet sich auf einem aufstrebenden Ast
Standard MySQL - Eintragen und abfragen

Hallo zusammen,

Ich versuche nun schon eine Weile, über eine Webseite bestimmte Werte in eine Datenbank einzusetzten.
Das klappt auch soweit, nur, wenn ich die Daten anschließend direkt wieder auslesen will, wird der Datensatz nicht gefunden.

Mein Code zum auslesen:
PHP-Code:
$sql "INSERT INTO user_dat (name, pwd, sck) VALUES ('embed', 'geheim', 'testmail@gmx.de');";

$db_erg mysql_query($sql); 
Der funktioniert auch soweit, denn wenn ich phpMyAdmin aktualisiere, steht der neue Eintrag gleich in der Datenbank.
Nachdem der neue Eintrag gesetzt wurde, wird mit PHP unten auf der Seite ein Link ausgegeben, der auf das loginformular für den Userbereich führt.

Dieser Link lässt sich auch öffnen, nur wenn ich den eben hinzugefügten Nutzer als Benutzername mit dem richtigen Passwort eingebe, bekomme ich die Rückmeldung, dass der Benutzer nicht existiert.
Mein Code hierzu:
PHP-Code:
$sql "SELECT name, pwd FROM user_dat WHERE name = '$username' LIMIT 1";
          
$db_erg mysql_query($sql);
          
          
$row mysql_fetch_object($db_erg);
          if(!
$row)
          {
          echo 
"<br />\n<span class=\"error\">Dieser Benutzername existiert nicht!</span>\n<br />\n";
          }
          else
          {
            if(
$row->name == $username AND $row->pwd == $pwd)
             {
                
header(Location: ...);
             }
             else
             {  
                echo 
"<br />\n<span class=\"error\">Deine Formulareingaben waren falsch!</span>\n<br />\n";
             }
          } 
Auch wenn ich einen weiteren Benutzer hinzugefügt habe, wird der erste Nutzer nicht erkannt.

Wenn ich aber die Nutzer direkt über phpMyAdmin eingebe, werden die Nutzer sofort erkannt.


Kann mir jemdan helfen, bzw. sagen, warum dies so ist, und was ich evtl. falsch mache??

mfG embed
embed ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.01.2012, 20:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

PHP.de Wiki | Debugging:SQL
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 19.01.2012, 20:20  
meikel
Gast
 
Beiträge: n/a
Standard

Dein SELECT String ist gewöhnungsbedürftig. Wieso suchst Du nur nach dem Namen und was soll LIMIT 1? Wieviele User gleichen Namens verstecken sich in Deiner Datenbank?
PHP-Code:
$username mysql_real_escape_string($username);
$pwd mysql_real_escape_string($pwd);
$sql "SELECT name, pwd FROM user_dat WHERE name = '$username' AND pwd = '$pwd'"

$db = new mysqliHOSTNAMEDBUSERDBPASSDBNAME); # Zugangsdaten vorher setzen
if(fals !== ($res $db->query($sql))){
  if (
$res->num_rows() == 1)
    
UserOK();
  else
    
LoginFormularAnzeigen();
}else{
  die(
$db->error);

  Mit Zitat antworten
Alt 19.01.2012, 20:42  
Neuer Benutzer
 
Registriert seit: 31.10.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
embed befindet sich auf einem aufstrebenden Ast
Standard

Ok, das mit "LIMIT 1" und den beiden Suchkriterien kann ich noch verarbeiten.

Allerdings liegt mein Problem gar nicht in der Abfrage der richtigen Daten, das geht ganz passabel, mein Problem ist, dass die richtige Reihe nur gefunden wird, wenn ich die Daten über phpMyAdmin direkt in die Datenbank eingebe.

Wenn ich es über die Webseite mache funktioniert nichts, weil der Script angeblich den Datensatz nicht finden kann...

mfG embed
embed ist offline   Mit Zitat antworten
Alt 19.01.2012, 20:50  
meikel
Gast
 
Beiträge: n/a
Standard

PHP-Code:
echo $sql;
...
var_dump($db_erg);
...
var_dump($row); 
Um Probleme mit dem Zeichnsatz auszuschließem, teste das noch mal mit einem User und einem Paßwort, welche alphanumerisch sind.
  Mit Zitat antworten
Alt 19.01.2012, 21:48  
Neuer Benutzer
 
Registriert seit: 31.10.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
embed befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Ich habe als neuen Username jetzt "hallo" und als password ebenfalls "hallo" verwendet.
Auch hier sind nun keine Veränderungen sichtbar...

EDITH: Das eigentliche Problem ist, dass der Datensatz nur erkannt wird, wenn er direkt über phpMyAdmin eingegeben wurde.
Wenn ich ihn über die Webseite eingebe, funktioniert nichts...

mfG embed

Geändert von embed (20.01.2012 um 07:19 Uhr).
embed ist offline   Mit Zitat antworten
Alt 20.01.2012, 22:53  
Neuer Benutzer
 
Registriert seit: 13.01.2012
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
qnugerm befindet sich auf einem aufstrebenden Ast
Standard

Lass dir mal $sql ausgeben und schicke die Ausgabe dann im PMA über die SQL-Sunktion ab. Bekommst du dann auch ein Ergebnis?
Wenn nein, liegts Problem wohl im Statement.
qnugerm ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
exel mit 1.2 mio einträgen in mysql speichern Sony_BMG_24 PHP-Fortgeschrittene 12 23.12.2011 08:32
Daten in MySQL Datenbank eintragen Pas_Kall PHP Einsteiger 3 08.08.2011 13:23
MySql Daten Abfragen ... Programmer96 PHP Einsteiger 22 23.05.2011 18:44
Website Einträge aus Mysql auslesen und mit Formular eintragen ActivStrake PHP Einsteiger 1 08.03.2011 13:14
MYSQL - Formulardaten in Datenbank eintragen lassen! Aimless Datenbanken 7 03.03.2011 13:37
[Erledigt] 2 MySQL Tabellen abfragen jordanoooo Datenbanken 7 16.02.2010 18:42
[Erledigt] mysql abfragen (interval datum) AllOnline PHP Tipps 2009 20 03.07.2009 10:14
Eintragen von Daten per Formular in MySQL Datenbank PHP Tipps 2004 11 07.06.2009 08:58
Berechnung über mehrere Abfragen aus mysql Slappi PHP Tipps 2008 2 18.12.2007 14:22
PHP bzw. mysql abfragen optimieren Kori Datenbanken 3 26.09.2007 21:02
Daten aus MySQL Datenbank abfragen trivial Datenbanken 2 29.04.2006 17:48
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Kann man Mysql Datenbanken abfragen ob Sie verfügbar sind ? Datenbanken 2 12.03.2005 16:39
between datum abfragen mysql hekto Datenbanken 2 12.01.2005 11:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
abfrage php eingetragen seit

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum