dedlfix: MySQL Abfrage bringt nichts trotz Fehlerfreiheit

Beitrag lesen

echo $begrüßung;

$abfrage = "select logs.* FROM logs NATURAL LEFT JOIN votes WHERE votes.page_id = 5 AND votes.query = '.$query.';";

$ergebnis_2 = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis_2);
echo "<br />error: ".mysql_error()."<br />";
echo "errno: ".mysql_errno()."<br />";

mysql_error() und mysql_errno() wirken auf die vorhergehende mysql_-Funktion. Bei den Fetch-Funktionen mysql_fetch_() gibt es niemals einen MySQL-Fehler. Wenn du Fehler abfragen willst, dann mach das direkt nach der Funktion, bei der sie aufgetreten sein können, also nach mysql_query() in deinem Fall. Übrigens liefern diejenigen Funktionen im Fehlerfall keine Ressourcenkennung sondern ein false als Ergebnis. Das darfst du nicht einfach so ignorieren. Das Scripts kann danach nicht mehr normal weiterlaufen, weil ohne Ressourcenkennung keine Datensätze gefetcht werden können. Konsultiere bitte stets das Handbuch, wie sich die Funktionen im Gut- und im Fehlerfall verhalten, werte diese Information aus und reagiere angemessen.

var_dump($ergebnis);

  
Du hast sicher vorher noch eine andere Abfrage laufen. Es nützt dir ja nichts, deren Ergebnisse zu untersuchen, wenn du hier stattdessen mit $ergebnis\_2 hantierst.  
  
Standard-Hinweis: Außerdem kann ein auf E\_ALL gestelltes error\_reporting (und auf on gestelltes display\_errors) beim Fehlersuchen hilfreich sein. Du bekommst dann Meldungen über Zugriffe auf nicht initialisierte Variablen angezeigt, womit sich unter anderem Tippfehler bei Variablennamen finden lassen.  
  
  
echo "$verabschiedung $name";