MySql auf existierenden Eintrag prüfen

Ich habe schon begriffen was ihr meint, aber wenn immer nur ein Datensatz zurückkommt, weiss ich im Fehlerfall nicht, ob es gar keinen oder mehr als einen gab, weil auch dann wenn es zwei gab nichts zurück kommt.
Selbst wenn er mir eine Zahl ausspuckt, wieviele es gab, dann muss ich die immer noch mit 3 if prüfen.
Oder habe ich den Trick übersehen?
 
Du fügst einfach eine zusätzliche Spalte an, die dann die Anzahl der gefundenen Datensätze enthält. Und wenn kein Datensatz gefunden wurde, dann erhältst du auch keine Daten von der Datenbank.
 
Ich habe schon begriffen was ihr meint, aber wenn immer nur ein Datensatz zurückkommt, weiss ich im Fehlerfall nicht, ob es gar keinen oder mehr als einen gab, weil auch dann wenn es zwei gab nichts zurück kommt.
Selbst wenn er mir eine Zahl ausspuckt, wieviele es gab, dann muss ich die immer noch mit 3 if prüfen.
Oder habe ich den Trick übersehen?

Du brauchst keine 3 if-Abfragen. Genau genommen, brauchst du nur eine und einen Else-Zweig:

PHP:
$abfrage = mysql_query("SELECT *, COUNT(*) AS anzahl FROM `tabelle` WHERE `feld1` = 'irgendwas' AND `feld2` = 'sonstwas'") or die( mysql_error() );

$datensatz = mysql_fetch_array( $abfrage );

if($datensatz['anzahl'] > 0)
{
  // Mindestens einen gefunden

  echo $datensatz['irgend_eine_spalte'];
  
  // Wenn du noch genauer prüfen willst, kannst du hier drinnen
  if( $datensatz['anzahl'] > 1 )
  {
    // Mindestens zwei
    echo "Hab noch " . $datensatz['anzahl'] - 1 . ' weitere Datensätze gefunden'; // -1 weil wir den ersten ja schon ausgegeben haben.
  }
}
else
{
  // Kein Datensatz gefunden
}
 
Zurück