Feld mit diesem Namen existiert bereits?

HForum
Hi!
Ich bin immernoch totaler Anfänger, und habe für mein kleines Problem noch immer keine Antwort gefunden.
Ich habe eine MySQL Datenbank Tabelle, in der Tabelle hat es die "Überschrift" 'User'. Nun brauche ich eine PHP Datei die überprüft ob "lala" in einer Zelle von 'User' vorkommt. Wenn es vorkommt soll es "Ja" schreiben, ansonsten "Nein"!

Kann mit jemand helfen, oder ist das Ganze zu undeutlich formuliert?
MrMind
Also wenn ich dich richtig verstanden habe, dann ist die Datenbank so in etwa aufgebaut:

Datenbank: test
Tabelle: news
Felder: User

das sind teilweise nur Beispiel Angaben (wie test etc.)

So könnten nun Einträge in der DB aussehen:

news

Userid | User | Email

1 | Test | test@test.de
2 | lala | lala@test.de

....


Du willst nun prüfen, ob in der Tabelle news der User mit dem Usernamen lala schon existiert, dann sollte der folgende PHP-Code funktionieren:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
<?php

//Verbindung zu mysql mit Datenbankauswahl

$sql "SELECT user FROM news WHERE user='lala'";

if( $result mysql_query($sql) )
{
    echo "User existiert";
}
else
{
    echo "User existiert nicht";
}

//Datenbank-Verbindung schließen
?>


Die Kommentare habe ich nur eingefügt, damit du weißt, was zuvor kommen muss, da ich net auf alles eingehe, sondern lediglich auf das Problem großes Grinsen

Hoffe ich konnte dir weiterhelfen.

Mfg
MrMind
HForum
Hi!
Irgendwie will das nicht funktionieren, es können immer noch mehrere benutzernamen vorhanden sein:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:

<?
include 'reg.htm';

$link mysql_connect('localhost''''');
if (!$link) {
   die('keine Verbindung möglich: ' mysql_error());
}

mysql_select_db(''$link) or die("Konnte die Datenbank nicht waehlen.");

if(isset($_POST['user']))
{

$sql "SELECT user FROM news WHERE user='{$_POST['user']}'";
if( $user mysql_query($sql) )
{
    echo "Dieser Benutzer existiert bereits!";
}
else
{
$datei fopen("acid.txt","r+");
$count fread($datei,filesize("acid.txt"));

rewind($datei);
fwrite($datei,++$count);
fclose($datei);
$user $_POST['user'];

$user mysql_escape_string($user);

$count mysql_escape_string($count);

mysql_query("INSERT INTO ws
(mail, id) VALUES('$user', '$count' ) ") 
or die(mysql_error()); 


echo "erfolgreich";
}
}
mysql_close($link);
?> 
Flyboy
Versuche es mal so:

php:
1:
2:
3:
4:
5:
6:
$sql  mysql_query("SELECT COUNT(`user`) as count FROM `news` WHERE `user` = '".$_POST['user']."'");
$data mysql_fetch_assoc($sql);

if( $data["count"] > "0") {
    echo "Dieser Benutzer existiert bereits!";
}
MrMind
Es würde einfach nur reichen diese Zeile hier:

php:
1:
$sql "SELECT user FROM news WHERE user='{$_POST['user']}'";


durch die folgende zu ersetzen:

php:
1:
$sql "SELECT user FROM news WHERE user='".addslashes($_POST['user'])."'";


Vorallem das addslashes() ist hier sehr wichtig, ansonsten besteht ein SQL-Injection-Angriff nichts mehr im Wege großes Grinsen

Mfg
MrMind