php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.09.2011, 11:01  
Benutzer
 
Registriert seit: 26.02.2011
Beiträge: 43
PHP-Kenntnisse:
Anfänger
MaNuu kann nur auf Besserung hoffen
Standard [MySQL] x Datensätze ohne Schleife gelöscht?

Hi,

ich habe mir folgenden Code geschrieben um einen Datensatz aus einer DB zu löschen:

PHP-Code:
$sql_delete_2 'DELETE FROM gruppe_person
                    WHERE
                        person_id ="'
.$id.'"';
$db_erg_2 mysql_query$sql_delete_2 );
        if ( ! 
$db_erg_2 )
        {
    die(
'Ungültige Abfrage: ' mysql_error());
    }        
printf ("Datensätze gelöscht: %d\n"mysql_affected_rows()); 

Jetztwollte ich eigentlich noch eine While-Schleife drumbauen, damit das Skript mehrere Datensätze nacheinander löscht.

Aber als ich das Skript testweise ausgeführt habe, hat es direkt alle Datensätze gelöscht die = $id waren. Ist das ein eingebauter Mechanismus von SQL?! Dass er direkt alle Datensätze löscht, die der Anfrage entsprechen?
MaNuu ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.09.2011, 11:41  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Zitat:
Aber als ich das Skript testweise ausgeführt habe, hat es direkt alle Datensätze gelöscht die = $id waren

...was hast Du den erwartet, was passieren soll Es werden alle Datensätze gelöscht, auf die die Bedingung zutrifft!

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 09.09.2011, 02:53  
Neuer Benutzer
 
Registriert seit: 05.09.2011
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
Neox befindet sich auf einem aufstrebenden Ast
Standard

Wenn du die Angabe 'WHERE id=3" machst, werden alle Datensätze gelöscht, wo die id = 3 ist - logisch.
Wenn du jetzt mehrere Datensätze mit der ID 3 hast, werden alle gelöscht - MySQL weiß dann ja nicht, welchen du genau meinst

Deshalb: Immer checken, dass jede ID nur einmal vorkommt > einfach die Spalte mit den IDs als Primärschlüssel markieren, dann kriegst du eine Fehlermeldung á la: "#1062 - Duplicate entry '1' for key 'PRIMARY'", wenn du versuchst einen Datensatz mit einer ID die es schon gibt zu speichern.

Zusätzlich solltest du "AUTO_INCREMENT" auf der Spalte ID verwenden, dann werden automatisch neue IDs erstellt, wenn du Datensätze einfügst.

So far, Neo

Geändert von Neox (09.09.2011 um 02:57 Uhr).
Neox ist offline   Mit Zitat antworten
Antwort


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
[Erledigt] Wieso While Schleife endlos? JackSparrow PHP Einsteiger 8 02.02.2011 22:33
[Erledigt] Schleife 2 auf Schleife 1 beziehen bei XML Abfrage ePole PHP Einsteiger 16 17.12.2010 09:58
Datensätze werden nicht gelöscht forky Datenbanken 1 22.10.2010 09:40
fwrite() funktioniert nicht innerhalb einer Schleife hausmaus PHP Tipps 2010 4 26.04.2010 13:45
[Erledigt] foreach Schleife lord_icon PHP Tipps 2010 11 06.02.2010 01:15
Zufällig erstellte Werte einzeln aus einer Schleife holen atthex PHP Tipps 2009 3 04.01.2010 19:03
[Erledigt] MySQL Update Schleife the-rod Datenbanken 8 08.07.2009 21:19
in einer schleife datensätze löschen? SimStar001 Datenbanken 7 28.06.2009 11:03
[Erledigt] Fehlende Datensätze bei Ausgabe... Ramona86 Datenbanken 8 04.07.2008 12:12
Datensätze aus einer dynamisch erzeugten Tabelle einfügen?! PermanetMarker PHP Tipps 2006 15 30.06.2006 11:48
Buttons und Eingabefelder in einer Schleife ? hans_wurst PHP Tipps 2006 3 26.04.2006 15:07
Schleife nach Tastendruck beenden schnurzli PHP Tipps 2006 7 24.03.2006 18:56
Warum wird die erste Schleife nur einmal durchlaufen ? PHP Tipps 2006 12 03.03.2006 20:04
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
while schleife beenden PHP Tipps 2005 3 29.03.2005 20:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php schleife soll nur x datensätze ausgeben, mysql die ersten x datensätze löschen, mysql daten löschen in schleife, php datensatz ohne while, php mysql datensatz x löschen, mehrere datensätze ohne while, mysql schleife läuft endlos, datensatz anzeigen ohne while schleife, php mysql ohne while, php sql ohne while, mysql nur einen datensatz ohne while, php mysql alle einträge mit x löschen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:05 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