php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.08.2005, 22:35  
Gast
 
Beiträge: n/a
Standard [Erledigt] MYSQL EINTRAEGE MIT FORMULAR WERTEN VERGLEICHEN

Hallo,
wie kann ich Werte in einer MYSQL Tabelle mit den Formular werten vergleichen?
thx for help
P.S.:
das geht net:
Code:
<?php 
//hp 
error_reporting(E_ALL); 
include 'inc/config.php'; 

//  die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error()); 
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Zur Zeit können keine Benutzer hinzugefügt werden! Nr.1"); 
// die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error()); 
mysql_select_db(MYSQL_DATABASE) OR die("Zur Zeit können keine Benutzer hinzugefügt werden! Nr. 2"); 
$sql = "SELECT                
            Name,                
            Password            
        FROM                
            users; 
        ";  
                
if ($txtUser != "" and $txtPass != "") 
{ 
    
    $result = mysql_query($sql) OR die("Zur Zeit können keine Benutzer hinzugefügt werden! Nr. 3");            
    if(mysql_num_rows($result)) { 
        while($row = mysql_fetch_assoc($result)) 
            {        
                  if ($txtUser == $row['Name'] and $txtPass == $row['Password']) 
                  { 
                    echo "Benutzer und die Emailadresse sind bereitsvorhanden! <a href=\"index.php\">Zurück</a>"; 
                } 
      
                  else { 
      $sql2 = "INSERT INTO users 
                (Name, Password, Email) 
            VALUES      
                  ('$txtUser','$txtPass', ''); 
          "; 
                      // die("Query: <pre>".$sql."</pre>\n"."Antwort: ".mysql_error()); 
          $result = mysql_query($sql2) OR die("Zur Zeit können keine Benutzer hinzugefügt werden! Nr. 4"); 
                    echo "Sind sind nun als ".$txtUser." erfolgreich registriert und werden weiter zu den Downloads geleitet!"; 
                    echo "Falsch die automatische Weiterleitung nicht funktioniert, bitte klicken Sie <a href=\"Downloads/\">hier</a> drauf."; 
                    
                    } 
        } 
} } 
else 
{ 
    echo "Es müssen alle Felder ausgefüllt werden! <a href=\"index.php\">Zurück</a>"; 
    echo "<meta http-equiv=\"Content-Type\"content=\"text/html; charset=ISO-8859-1\" />"; 
    echo "<META http-equiv=\"refresh\" content=\"1; URL=http://localhost/xampp/hp/versuch/index.php\">"; 
} 

?>
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.08.2005, 10:44  
Gast
 
Beiträge: n/a
Standard

Hy, als erstes überprüfe mal, ob deine Variablen die erwarteten Werte enthalten. Desweiteren würde ich dir raten, nicht $txtuser zu benutzen, sondern (ich gehe davon aus, dass die Werte von einem Post-Formular kommen) $_POST["txtuser"].

Den Vergleich kannst du einfacher machen, als SQL-Sting:
PHP-Code:
<?php
$sql 
"SELECT feld FROM users WHERE name = '".$_POST["txtuser"]."' or email = '".$_POST["txtemail"]."'";
if ( 
mysql_num_rows$resultderabfrage ) )
    
//schon vorhanden
else
    
mysql_query"INSERT INTO users ..." );
?>
Bei mir meckert er rum, wenn ich in einer SQL-Abfrage ein Semikolon am Ende mache. Evtl. liegt es daran.

PS: Wegen der Abfrage oben schau nach, ob deine Sicherheitseinstellungen gut sind (siehe im PHP-Tut unter Sicherheit )
  Mit Zitat antworten
Alt 06.08.2005, 11:46  
Gast
 
Beiträge: n/a
Standard

hi,

ich wollte weiter Abfragen vermeinden, und hab deswegen in phpadmin bei Spalten, die es nur einmal geben soll "unique" eingestellt und php soll ganz normal versuchen den Eintrag einzutragen.

PHP-Code:
<?php
// Daten eintragen
  
$sql "INSERT INTO ".
    
"Users (...) ".
  
"VALUES (...)";
  
mysql_query ($sql) or $error['mysql'] = mysql_error();
?>
Nur -wie man sehen kann- lasse ich das ganze nicht durch die() beenden, sondern speichere den Fehlertext in die Variable $error['mysql'].

Später vergleiche ich dann umständlich den Fehlertext und lass dann die entsprechenen Fehlertext ausgeben. Bei keiner Übereinstimmung wird der Standarttext von mysql_error() ausgegeben.

Nur kann man das ganze vereinfachen, indem man nicht den Fehlertext vergleicht, sondern kann man sich einen Fehlercode herausgeben lassen? (also ein Befehl anstatt mysql_error() )


Zitat:
Zitat von casb
PS: Wegen der Abfrage oben schau nach, ob deine Sicherheitseinstellungen gut sind (siehe im PHP-Tut unter Sicherheit )
wo soll das genau stehen?
  Mit Zitat antworten
Alt 06.08.2005, 13:41  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Macbeth
Nur kann man das ganze vereinfachen, indem man nicht den Fehlertext vergleicht, sondern kann man sich einen Fehlercode herausgeben lassen? (also ein Befehl anstatt mysql_error() )
OK... Frage selber beantwortet...
mit mysql_errno() gehts...

Aber ist die Möglichkeit auch gut, oder solte ich das so lieber lassen?
  Mit Zitat antworten
Alt 08.08.2005, 00:33  
Gast
 
Beiträge: n/a
Standard

@casb: wie genau soll der vergleich aussehen, verstehe den codeteil net
  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
Eintragen von Daten per Formular in MySQL Datenbank PHP Tipps 2004 11 07.06.2009 08:58
MySql - Daten übers Formular einfügen? Toby PHP Tipps 2008 9 07.11.2007 09:51
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Formular - Daten in MySQL Datenbank speichern PHP Tipps 2005 13 04.05.2005 18:12
Formulardaten mit MySQL Datenfeld vergleichen PHP Tipps 2005 4 15.03.2005 20:15
MYSQL Daten im Formular ändern Datenbanken 1 01.03.2005 08:15
[Erledigt] Daten via Formular in MySql eintragen Datenbanken 2 11.02.2005 14:03
Formular mit Mysql Anbindung 'progman' PHP Tipps 2005 6 27.01.2005 18:08
Mit PHP Formular in mysql DB schreiben ?! PHP Tipps 2005 9 06.01.2005 15:15
MYSQL Tabelleninhalt in Formular übernehmen <SELECT> PHP Tipps 2004 9 27.09.2004 16:35
Anzeigen von Werten aus Datenbank über Formular Datenbanken 14 21.09.2004 14:59
fragen zu einem Login und Zeit blabla über MySQL PHP Tipps 2004 10 12.09.2004 15:21
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55
Formular - Tabelle hat n zeilen mit zu übergebenden werten PHP Tipps 2004 2 09.07.2004 20:50
[Erledigt] Wer kann mir ein Formular mit MySQL erstellen? Off-Topic Diskussionen 2 06.07.2004 13:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql daten vergleichen php, php mysql werte vergleichen, mysql werte vergleichen, formulardaten mit datenbank vergleichen, mysql wert mit datenbank vergleichen, http://www.php.de/datenbanken/28563-mysql-eintraege-mit-formular-werten-vergleichen.html, vergleich mysql und variable, php formulardaten vergleichen, mysql datenbank vergleichen form, php mysql form text, php daten datenbank vergleichen, mysql mit php daten vergleichen, login in mysql mit php vergleichen, mysql 2 werte vergleichen, mysql werte vergleichen php, php mysql vergleiche, mysql eintrag mit variable vergleichen, mysql mit variablen vergleichen, daten aus formular mit daten aus datenbank vergleichen, mysql formular daten vergleichen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:34 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.