Fred Furunkelstein 2012: PHP Datenbank Abfrage

Beitrag lesen

$profile_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");[/code]

Wo ist mein Denkfehler?

Du lässt Dir weder den Error-String noch Dein SQL ausgeben.

$fatal=false;  
define (DEBUG, true); # Abschalten im Regelbetrieb  
  
$sql = "SELECT  
    profile.profilID,  
    profile.aktualisiertam,  
    profile.anrede,  
    profile.vorname,  
    profile.name  
FROM  
    profile  
JOIN nutzer ON profile.profilID=nutzer.profilID  
";  
  
$fatal=true; ## true für fatale Fehler  
$profile_query = mysql_query($sql, $DB);  
  
if (! $profile_query) {  
     if (DEBUG) {  
          print '<hr />  
<pre class="php_errors"><strong>MySQL-Fehler: </strong>' . mysql_errno($DB) . '  
<hr /><strong>Fehlermeldung:</strong>  
' . htmlspecialchars(mysql_error($DB)) . '  
<hr /><strong>vollständiges SQL:</strong>  
' .htmlspecialchars($sql). '  
<hr />  
';  
     }  
     if ($fatal) {  
         exit;  
     }  
}

Das ist ein Beispiel und dient dazu, den Weg zu zeigen. Womöglich willst Die Fehler aber in eine Funktion übergeben und Dir im Regelbetrieb in ein Logfile schreiben oder per Mail senden lassen. Natürlich bietet es sich an, die Fehlerbehandlung in eine Funktion auszugliedern.