| Überprüfen: Eintrag schon in DB vorhanden | 
	
| Tobi W. 
 MausakrobatThreadstarter
 
 
 
 
 
 Beiträge: 182 | 
 
Hallo, 
ich würde gerne überprüfen, ob ein Eintrag schon in der Datenbank vorhanden ist. Beip. Kundennummer, Loginname oder ähnliches.
 
Wie heißt der sql-string, dass müßte doch irgenwie so gehen, dann ich eine WHERE mit der Bedingung mache und dann gucke ob NULL rauskommt oder nicht?
 
Wie überprüfe ich auf NULL?
 
Danke  
Tobi W.
 
--- 
tobi.weinhorst
 | 
|  Profil
  Website
  Editieren
  Zitieren | 
| subjective 
 Forenheld 
 
 
 
 Beiträge: 844 | 
 
Einfach zählen    | 1: | SELECT COUNT(*) FROM tabelle WHERE idfield=123 | 
Dann mit mysql_result() direkt abfragen.
 
--- 
Weaverslave
 | 
|  Profil
  Website
  Editieren
  Zitieren | 
| Tobi W. 
 MausakrobatThreadstarter
 
 
 
 
 
 Beiträge: 182 | 
 
danke, nicht schlecht!     
--- 
tobi.weinhorst
 | 
|  Profil
  Website
  Editieren
  Zitieren | 
| KeyLF 
 Forenheld 
 
 
 
 Beiträge: 866 | 
 
Oder die ID des Eintrages auslesen... wenn diese <1 dann ist der Eintrag nicht vorhanden. 
 | 
|  Profil
  Editieren
  Zitieren | 
| subjective 
 Forenheld 
 
 
 
 Beiträge: 844 | 
 
Dies hätte den Nachteil das der es auch keinen Datensatz geben lönnte (im Result). Beim Zählen gibt es immer genau einen Datensatz mit einem einzelnen Feld. Dadurch kann man ohne weitere Prüfungen mit mysql_result() abfragen - war die Query erfolgreich ist auch der Wert vorhanden. 
--- 
Weaverslave
 | 
|  Profil
  Website
  Editieren
  Zitieren | 
| Tobi W. 
 MausakrobatThreadstarter
 
 
 
 
 
 Beiträge: 182 | 
 
1 : 0  für subjective! Würd ich mal sagen.... 
--- 
tobi.weinhorst
 | 
|  Profil
  Website
  Editieren
  Zitieren | 
| inko 
 Fachidiot 
 
 
 
 Beiträge: 133 | 
 
Wenn doppelte Einträge nicht vorkommen dürfen, dann setzt man auf die entsprechenden Tabellenfelder ein UNIQUE oder PRIMARY, dann hat sich das gleich erledigt. 
 Diese Nachricht wurde geändert von: inko | 
|  Profil
  Editieren
  Zitieren | 
| Tobi W. 
 MausakrobatThreadstarter
 
 
 
 
 
 Beiträge: 182 | 
 
Meine Frage war aber wie ich rausbekomme ob ein Eintrag schon vorhanden ist. Das bekomme ich aber mit deiner Variante aber nicht raus @inko. ;) 
--- 
tobi.weinhorst
 | 
|  Profil
  Website
  Editieren
  Zitieren | 
| languitar 
 Foren-Team 
 
 
 
 Beiträge: 2795 | 
 
naja doch, kannst abfragen, ob's ne fehlermeldung gab und hoffen dass die nicht woanders herkam. 
 | 
|  Profil
  Editieren
  Zitieren | 
| subjective 
 Forenheld 
 
 
 
 Beiträge: 844 | 
 
Natürlich sollte man auch in der Datenbank entsprechende Indizes setzen. Trotzdem würde ich in der Anwendung immer nachschauen. Wenn ein INSERT nämlich fehlschlägt, ist dies ein SQL-Fehler, auch in dem Fall eines doppelten Wertes in einem UNIQUE-Feld. 
Damit müßte also auch die Fehlerbehandlung ausgeführt werden. Bei mir würde dies ein Protokollieren des SQL-Fehlers bedeuten - in Produktionsumgebungen gebe ich keine SQL-Fehler aus. Jedoch würde dieses Protokoll mit zugemüllt werden, wenn ich SQL-Fehler einfach so in Kauf nehmen würde. Wenn ich die Fehlerbehandlung bei der Aktion jedoch deaktiviere, bekomme ich eventuelle wirkliche Fehler nicht mit.
 
--- 
Weaverslave
 | 
|  Profil
  Website
  Editieren
  Zitieren | 
| Tobi W. 
 MausakrobatThreadstarter
 
 
 
 
 
 Beiträge: 182 | 
 
| subjective schrieb am 07.10.2004 15:10 Einfach zählen
  
 
 | 1: | SELECT COUNT(*) FROM tabelle WHERE idfield=123 | 
 Dann mit mysql_result() direkt abfragen.
 | 
 
Kann mir das nochmal jmd erklären?   
Das andere klappt bei mir soweit. 
 
Jetzt möchte ich ganz einfach wissen wie viele Datensätze es gibt - ich denke das müßte ja mit COUNT klappen.
 
Leider weiß ich nicht genau wie ich das anwenden muss. 
Sorry, noob!    
Danke  
Tobi
 
--- 
tobi.weinhorst 
 | 
|  Profil
  Website
  Editieren
  Zitieren | 
| Hallomann 
 Otto-Normal-Poster 
 
 
 
 Beiträge: 45 | 
 
| 1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: |  | 
Hoffe das hilft 
 
Das ist der Script,den ich in einem meine Browser Games verwende^^ 
Allerdings kann man den noch kürzer aufbauen,habe den nur schnell rausgesucht^^
 
ciao 
 Diese Nachricht wurde geändert von: Hallomann | 
|  Profil
  E-Mail
  Editieren
  Zitieren |