Grösser als 0 als querry
-
minder -
24. Februar 2009 um 14:14
-
-
Das wirst du wohl einen Fehler im Script haben, dass du aber geschickterweise verheimlichst.
-
PHP
Alles anzeigenfunction menu($id) { include ('./conf/config.inc.php'); include_once ('./class/mysql.class.php'); $mysql = new MYSQL(); $entry; if($mysql->connect()) { $entrymain = $mysql->read_entry("menu", "menu_id='".$id."' AND active='1' AND mainlev > 0 ", "", 2); $entrysub = $mysql->read_entry("menu", "menu_id='".$id."' AND active='1' AND sublev > 0", "", 2); echo '<ul id="menu_'.$id.'">'; for ($i = 0; $i < $mysql->entry_count("menu", "menu_id='".$id."' AND active='1' AND mainlev='1'"); $i++) { $link = NULL; $link = BASE_PATH.$entrymain[$i]->link; echo ' <li class="mainlevel"> <a href="'.$link.'">'.$entrymain[$i]->title.'</a> <ul class="sublevel"> '; for ($y = 0; $y < $mysql->entry_count("menu", "menu_id='".$id."' AND active='1' AND sublev='1'"); $y++) { if ($entrysub[$y]->mainlev == $entrymain[$i]->mainlev) { $link = NULL; $link = BASE_PATH.$entrysub[$y]->link; echo ' <li class="sublevel_li"> <a href="'.$link.'">'.$entrysub[$y]->title.'</a> </li> '; } } echo' </ul> </li> '; } echo '</ul>'; $mysql->close; } $mysql->__destruct(); }
-
Schön ist, dass man dies
nirgendwo wiederfindet und man deine Klasse nicht kennt.
Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.