php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.03.2006, 09:09  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Kommen jetzt jeden Tag neue unkommentierte Quellcodes in denen wir die Nadel im Heuhaufen suchen dürfen?

Was geht nicht? Das löschen? Dann lass dir den DELETE-Query ausgeben.
Zergling-new ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.03.2006, 09:19  
Neuer Benutzer
 
Registriert seit: 28.03.2006
Beiträge: 28
it´s only me
Standard

ja genau, das löschen funktioniert nicht.

wir hatten mal ne funktion dareingeschrieben die ausgibt welceh felder makiert werden mit meinen löschhäckchen.
der gibt die zeilen dann auch aus, aber er löscht einfach die datensätze nicht aus der datenbank.
und ich verstehe absolut nicht wieso.
it´s only me ist offline  
Alt 29.03.2006, 10:16  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Wie debugge ich richtig?

Problem: Es geht nicht.

Vorgehen: Eingrenzen, was nicht geht. Dabei fällt auf bzw. ist die erste Vermutung, dass der DELETE (SQL) nicht geht.
Als erstes fällt auf, dass der SELECT zum Anzeigen der Daten vor dem DELETE passiert. Das ist ein logischer Fehler, der grundsätzlich dazu führt, dass die Daten noch einmal vollständig angezeigt werden und erst beim nächsten Refresh gelöscht werden.
Als nächstes fällt auf, dass kein mysql_error verwendet wurde. Dadurch werden etwaige SQL-Fehler verschluckt.
Nach Vermutung, der SQL geht nicht, sollte mittels var_dump beispielsweise (oder ECHO) der verantwortliche SQL einmal direkt vor Verwendung in mysql_query ausgegeben werden. Dabei kann man vielleicht sehen, dass a) der SQL eventuell gar nicht aufgerufen wird, das Script also gar nicht in die Code-Bereiche zum Löschen kommt oder dass b) der SQL fehlerhaft ist.
Als nächstes sollten alle verantwortlichen Variablen einzeln ausgegeben werden (var_dump):
- $_POST
- $_POST["loeschen"]
- $data
- $wert
mepeisen ist offline  
Alt 29.03.2006, 10:54  
Gast
 
Beiträge: n/a
Standard

@mepeisen
Wir sollten dein "Wie debugge ich richtig?" und mein "Richtig debuggen" kombinieren

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. 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).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.


und dann als Standardantwort bei solchen Fällen reinkopieren.

Gruß
phpfan
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
Checkbox jacos PHP Tipps 2006 5 01.04.2006 10:19
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51
[Erledigt] Formularelement Checkbox in Interaktion mit MYSQL Datenbanken 4 13.07.2004 12:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php delete query löscht nicht, php checkbox löscht immer neuesten datensatz, http://www.php.de/php-tipps-2006/38580-delete-funktion-mit-checkbox-fuktioniert-nicht-4.html

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:25 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.