dertypdernixkan
New member
Morgen!
Wie oben schon fast zu erahnen ist, es geht um den mySQL-Parameter EXPLAIN.
Ich bin seit einigen Tagen daran, meine Abfragen zu optimieren. Dazu stelle ich einer jeden SELECT das Präfix EXPLAIN voran. Bisher immer mit gewünschtem Ergebnis. Nun jedoch komme ich zu einer Tabelle bei der mir stattdessen Notice um die Ohren fliegen. Was erstmal nicht schlimm ist, jeder gefundene Fehler war ein Fehler zu viel. Allerdings kapiere ich nicht, warum mir NUR dann diese Fehler angezeigt werden wenn ich EXPLAIN benutze.
Auf diesen Ergebnissen wird, falls Freunde vorhanden sind, aus der Datenbank für die onliner ebenfalls abgefragt ob sie online sind oder nicht. Diese Ergebnisse (falls vorhanden) werden ebenfalls im Weiteren aufbereitet. Ich habe im PHP-Teil alle möglichen Fälle berücksichtigt, ohen EXPLAIN kommt es nämlich zu keiner Fehler Oder Notice-Meldung.
BSP.
Die Notice:
Kann es daran liegen, dass der Wert für "user_show" entweder 1 oder 0 ist? Wird hier der Wert 0 wie empty() bzw. !isset() behandelt?
Wie oben schon fast zu erahnen ist, es geht um den mySQL-Parameter EXPLAIN.
Ich bin seit einigen Tagen daran, meine Abfragen zu optimieren. Dazu stelle ich einer jeden SELECT das Präfix EXPLAIN voran. Bisher immer mit gewünschtem Ergebnis. Nun jedoch komme ich zu einer Tabelle bei der mir stattdessen Notice um die Ohren fliegen. Was erstmal nicht schlimm ist, jeder gefundene Fehler war ein Fehler zu viel. Allerdings kapiere ich nicht, warum mir NUR dann diese Fehler angezeigt werden wenn ich EXPLAIN benutze.
PHP:
EXPLAIN SELECT u.id,u.user_id,u.user_name,u.user_avatar,u.user_sex,u.user_show FROM user AS u INNER JOIN freunde AS f ON f.friend_id = u.id WHERE f.my_id = '".$_SESSION['id']."' AND f.friendship_stand = '1' AND f.blocked = '0' AND (u.user_status != '0' OR u.user_status != '5' OR u.user_status != '6' OR u.user_status != '7') ORDER BY u.user_name ASC
Auf diesen Ergebnissen wird, falls Freunde vorhanden sind, aus der Datenbank für die onliner ebenfalls abgefragt ob sie online sind oder nicht. Diese Ergebnisse (falls vorhanden) werden ebenfalls im Weiteren aufbereitet. Ich habe im PHP-Teil alle möglichen Fälle berücksichtigt, ohen EXPLAIN kommt es nämlich zu keiner Fehler Oder Notice-Meldung.
BSP.
PHP:
} elseif (isset($row_o['online_user_id']) AND $row['user_show'] == '0') {
Die Notice:
PHP:
Notice: Undefined index: user_show in C:\xampp\htdocs\...
Kann es daran liegen, dass der Wert für "user_show" entweder 1 oder 0 ist? Wird hier der Wert 0 wie empty() bzw. !isset() behandelt?