Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 5%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 392 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

maike

Tripel-As

Dabei seit: 03.04.2003

Beiträge: 151

 

1 Zum Seitenanfang

Donnerstag, 3. Juni 2004, 23:51

Einfache SQL-Abfrage

Ich möchte eine tabelle nach einer bestimmten id durchsuchen und ausgeben, ob diese existiert bzw. nicht existiert.
siehe unten
Warum wird aber immer "gefunden" ausgegeben, auch wenn die id nicht übereinstimmt?


$nummer vorher festgelegt

$query = "SELECT * FROM tabelle WHERE id=$nummer";
$result = mysql_query($query);
if ($result)
{
echo "gefunden";
}

else
{
echo "nicht gefunden";
}
 

freq.9

Tripel-As

Dabei seit: 26.04.2004

Beiträge: 158

 

2 Zum Seitenanfang

Donnerstag, 3. Juni 2004, 23:55

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
/* ... */
$count mysql_num_rows($result);
if($count == 0) {
  echo "existiert nicht";
}
elseif($count == 1) {
  echo "existiert";
}
else {
  echo "Fehler?";
}
 

Crush

Kaiser

Dabei seit: 22.09.2002

Beiträge: 1 095

 

3 Zum Seitenanfang

Freitag, 4. Juni 2004, 14:06

hi,
schreib alle IDs in ein array und frag dann ab, ob im array die ID existiert

$query = "SELECT ID FROM tabelle";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
$ID[] = $row['ID'];
}

if(in_array($nummer, $ID))
{
echo("ID ".$nummer." existiert");
}
else
{
echo("ID ".$nummer." existiert nicht");
}
 

treo

Super Moderator

Dabei seit: 16.09.2002

Beiträge: 3 669

 

4 Zum Seitenanfang

Freitag, 4. Juni 2004, 14:45

Zitat

Original von Crush
schreib alle IDs in ein array und frag dann ab, ob im array die ID existiert

Die Idee ansich Funktioniert zwar, aber man muss bedenken das es auch einfacher geht.
Die Lösung wie freq.9 sie gesagt hat ist da afaik die beste.

übrigens:

Zitat


$query = "SELECT * FROM tabelle WHERE id=$nummer";

Das steht nur so im Handbuch weil es Platz spart.
Man sollte immer alle Felder angeben die man haben will, dadurch wird das ganze schneller!
ihre DNS Analyse zeigt eine krankhafte Abneigung gegen jegliche Autorität und einen Charakter der zum Gewaltausbrechen neigt....

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »treo« (4. Juni 2004, 14:45)

 

mat

Routinier

Dabei seit: 05.12.2002

Beiträge: 383

 

5 Zum Seitenanfang

Freitag, 4. Juni 2004, 15:25

Der schnellste Weg (den ich benutze) ist:

Quellcode

1
2
3
4
5
if(mysql_result(mysql_query("SELECT COUNT(*) FROM ... WHERE ..."),0)==1){
 // GEFUNDEN
}else{
 // NICHT G.
}
 

treo

Super Moderator

Dabei seit: 16.09.2002

Beiträge: 3 669

 

6 Zum Seitenanfang

Freitag, 4. Juni 2004, 19:14

ja, aber nicht gerade der leser freundlichste ;)
ihre DNS Analyse zeigt eine krankhafte Abneigung gegen jegliche Autorität und einen Charakter der zum Gewaltausbrechen neigt....
 

NiBurhe

Kaiser

Dabei seit: 07.04.2003

Beiträge: 1 292

 

7 Zum Seitenanfang

Freitag, 4. Juni 2004, 20:48

Zitat

Original von mat
Der schnellste Weg (den ich benutze) ist:

Quellcode

1
2
3
4
5
if(mysql_result(mysql_query("SELECT COUNT(*) FROM ... WHERE ..."),0)==1){
 // GEFUNDEN
}else{
 // NICHT G.
}


Also wenn dann würde ich das so machen

Quellcode

1
2
3
4
5
if(mysql_result(mysql_query("SELECT COUNT(*) FROM ... WHERE ..."),0)>0){
 // GEFUNDEN
}else{
 // NICHT G.
}


Weil wenn er bei deinem 2 Einträge findet behauptet er, er hätte gar keinen gefunden, so sagt er alles über 0 ist gefunden.
 

Crush

Kaiser

Dabei seit: 22.09.2002

Beiträge: 1 095

 

8 Zum Seitenanfang

Freitag, 4. Juni 2004, 20:54

Zitat

Original von NiBurhe

Zitat

Original von mat
Der schnellste Weg (den ich benutze) ist:

Quellcode

1
2
3
4
5
if(mysql_result(mysql_query("SELECT COUNT(*) FROM ... WHERE ..."),0)==1){
 // GEFUNDEN
}else{
 // NICHT G.
}


Also wenn dann würde ich das so machen

Quellcode

1
2
3
4
5
if(mysql_result(mysql_query("SELECT COUNT(*) FROM ... WHERE ..."),0)>0){
 // GEFUNDEN
}else{
 // NICHT G.
}


Weil wenn er bei deinem 2 Einträge findet behauptet er, er hätte gar keinen gefunden, so sagt er alles über 0 ist gefunden.


normalerweise kommt aber eine ID nur einmal vor :)
 

Alfons_G

Routinier

Dabei seit: 26.04.2003

Beiträge: 486

 

9 Zum Seitenanfang

Sonntag, 6. Juni 2004, 09:30

Die Lösung von NiBurhe ist aber universeller und funktioniert auch bei Tabellen, die aus irgendwelchen Gründen keine ID haben ;). Dr Zeitunterschied dürfte minimal sein.

Alfons
 

Ähnliche Themen