Tom: Ob Datensatz schon existiert!

Beitrag lesen

Hello,

Wie ich sehe, wurde Deine Frge bisher nicht beantwortet...

<?php            ### keine short-open-tags benutzen!

// ueberpruefen, ob username schon existiert!

$db_host = "localhost";     ### diese Daten sollten später ausgelagert werden
  $db_user = "web252";        ### möglichst in eine Datei außerhalb des Doc-Root
  $db_pwd  = "geheim";        ### und dann mit require_once() zugeladen werden

$con = mysql_connect($db_host,$db_user,$db_pwd);   ### Den Link-Identifier (Handle) benötigt
                                                     ### man später noch!

if (!$con)  ### Keine Verbindung zum Datenbankserver verfügbar
  {
    html_ausgebe($fehlermeldung, "Der Datenbankserver ist nicht erreichbar: ");
    exit;    ### das sollte eigentlich am Ende der Funktion html_ausgabe() stehen.
  }

$db = mysql_select_db("usr_web252_1");  ## Auch diesen Link-Identifier könnte
                                          ## man später noch brauchen

if (!$db)  ### Keine Verbindung zur angeforderten Datenbank
  {
    html_ausgebe($fehlermeldung, "Die angeforderte Datenbank ist nicht auffindbar: ");
    exit;    ### das sollte eigentlich am Ende der Funktion html_ausgabe() stehen.
  }

// Sql-Befehl

$username = mysql_real_excape_string($_POST['username']);  ### nagic_quotes_gpc sind aus

### Die Datenübernahme sollte man nicht mitten im Script machen, sondern gleich am Anfang
  ### dort können dann ggf. auch Maskierungen (Magic Quotes) gleich entfernt werden, falls
  ### das "Feature" eingeschaltet ist

$fieldlist = "id\_menbers, userName";   ### oder was man wirklich braucht

### bitte keine Queries auf '*' durchführen, wenn Du nicht wirklich ALLE Spalten benötigst

$sql_befehl = "SELECT $fieldlist FROM members WHERE userNAME ='$username'";

// SQL-Query ausführen

if ($resultat = mysql_query($sql_befehl))

{
    if(mysql_num_rows($resultat) > 0)
    {
       mysql_close($con);
       html_ausgabe($fehlermeldung, "Der Username ist schon vergeben!";
       exit;
    }
  }
  else   ### es konnte keine Abfrage durchgeführt werden
  {
     mysql_close($con);
     html_ausgabe($fehlermeldung, mysql_error($con));
     exit;
  }

### hier normal weiterarbeiten.
  ### nicht vergessen: Resultset wieder freigeben, wenn man es nicht mehr braucht

?>

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)