Wenn Wert in DB nicht vorhanden ..

sipoh

Erfahrenes Mitglied
Mal ne dumme Frage.

Ich versuche herauszufinden, ob ein Name, den man registrieren will, in einer DB vorhanden ist. Wenn nicht, dann ist alles OK. Ich versuche es, ohne ne Fehlermeldung ala

" mysql_result(): supplied argument is not a valid MySQL result resource"

hinzubekommen.

Mein Ansatz:

Code:
...
$user = $_POST['xyz']; // aus Formular -> Input

$sql = "SELECT * FROM users WHERE UserName = '".$user."'";

echo mysql_num_rows($sql);
 
hmmm.. ich bin zwar bei den MySQL Parts in PHP noch relativ neu,
aber du brauchst für den Part:

$sql = "....."

die Variable $user nicht auszukommentieren.

Du: $sql = "blabla".$user."blablabla";

ich würds so machen:

$sql = "blablabla $user blablabla";

Grüße
 
Genau

und:

Code:
$sql = "SELECT count(*) FROM users WHERE UserName = '$user'";

$result = mysql_query($sql) or die ("MySQL-Fehler: " . mysql_error());

$count = mysql_result($result,0);

if ($count) 
 echo "User vorhanden";

else

echo "User nicht vorhanden";

so klappts. Bin müde. Danke dir.
 
hmmm.. ich bin zwar bei den MySQL Parts in PHP noch relativ neu,
aber du brauchst für den Part:

$sql = "....."

die Variable $user nicht auszukommentieren.

Du: $sql = "blabla".$user."blablabla";

ich würds so machen:

$sql = "blablabla $user blablabla";

Grüße


Eine Variable "abzuschotten" ist die bessere Lösung.
Wenn du nämlich Anführungszeichen nimmst, sucht der Compiler nach Variablen in der Zeichenkette; Wenn du Hochkommata nimmst tut er das nicht -> schneller (wenn auch nicht spürbar)...

Zudem ist es viel übersichtlicher, wenn die Variablen nicht "versteckt" in deinem sql-Befehl auftauchen!

mfg
 
Heyho,

denke das Problem ist gelöst.

Ich würde gerne noch dazu lernen, wie meinst Du das "versteckte Variablen" und "Abschotten" ?
 
Zurück