Seite 1 von 1
MySQL-Abfrage
Verfasst: 14.12.2008 20:27
von goodpeace
Hallo ,
Ich wollte fragen wie mann in der DB prüft ob schon eine Zeile drin ist .
ZB . Will ich abfragen op in der DB 'Warnings' das Mitglied mit dem Namen X schon verfasst ist . Wenn schon ein eintrag mit dem Nicknamen drin sein sollte dass mann dann auf eine andere Seite Weitergeleitet wird ?
Danke im voraus
Verfasst: 14.12.2008 20:54
von piero
also verbindung usw. sollte schon stehen...
sqlabfrage sieht ganz normal aus:
Code: Alles auswählen
SELECT id FROM `deine_tabelle` WHERE `username`='der username' LIMIT 1
wieviele id's da nun zurückkommen kannst du mit der funktion mysql_affected_rows() abfragen
der phpcode folglich:
Code: Alles auswählen
$username = "foobar";
// $username mit sicherheitsfunktionen durchchecken, damit kein scheiss gemacht werden kann...
mysql_query("SELECT id FROM `deine_tabelle` WHERE `username`='$username' LIMIT 1");
if(mysql_affected_rows()) {
//code wenn der name schon existiert
} else {
//code wenn der name noch nicht existiert.
}
das ist alles

Verfasst: 14.12.2008 21:04
von goodpeace
SUper danke dir =)
Werde das später sofort mal testen =)
Verfasst: 14.12.2008 22:18
von Pyramide
piero hat geschrieben:wieviele id's da nun zurückkommen kannst du mit der funktion mysql_affected_rows() abfragen

Vielleicht solltest du dir vorher die Doku zu einer Funktion durchlesen, bevor du sie jemandem empfiehlst:
mysql_affected_rows() liefert die Anzahl betroffener Datensätze durch die letzte INSERT, UPDATE oder DELETE Anfrage an den Server
...
Um die Anzahl der gelieferten Datensätze einer SELECT-Anfrage zu erhalten benutzen Sie stattdessen die Funktion [php:mysql_num_rows]
Wenn man aber sowieso nur die Anzahl braucht, kann man auch gleich
benutzen, dann muss der DB-Server nämlich nur diese Information bereitstellen.
Verfasst: 14.12.2008 22:24
von piero
hmm... irgendeine leise ahnung hatte ich schon, dass da irgwndwas verkehrt war, nur kam ich nicht drauf^^
thx jedenfalls

Verfasst: 15.12.2008 00:52
von goodpeace
Habs eingebaut funktioniert so wie ich mir das gedacht hatte =)