Hallo,
kurze Frage:
wie kann ich in der Datenbank (via phpMyAdmin oder per Abfrage) Werte in mehreren/allen Datensätzen gleichzeitig ändern, z.B. bei allen Usern (alternativ: User 4 bis User 100) den "user_level" von "1" auf "0" setzen?
Mehrere Datensötze gleichzeitig ändern
- jasc
- Ehemaliges Teammitglied
- Beiträge: 2497
- Registriert: 24.05.2001 02:00
- Wohnort: Hergensweiler bei Lindau/B
Bin mir nicht ganz sicher, aber ich denke, so könnte es gehen:
Natürlich die entsprechenden Dinge anpassen (Variablen und so).
Also wenns völlig falsch ist, bitte nicht schlagen, hab schon ewig nichts mehr in PHP gemacht
.
<?php
$dbhost = "Host";
$dbuser = "DBUser";
$dbpass = "Passwort";
$dbname = "DBName";
$table = "Tabelle";
$db = @mysql_pconnect($dbhost, $dbuser, $dbpass)
or die ("Verbindungsaufnahme mit MySQL-Server fehlgeschlagen!");
@mysql_select_db($dbname, $db)
or die ("Verbindungsaufnahme mit Datenbank fehlgeschlagen!");
$sql_update = "UPDATE $table SET user_level=\"0\" WHERE user_level=\"1\"";
$result = mysql_query($sql_update, $db);
if($result) {
echo"Daten erfolgreich aktualisiert!";
}
else {
echo "Bei dem Versuch, einen Datensatz zu aktualisieren, ist ein Fehler aufgetreten.<br>\n Fehler-Nummer:
<b>".mysql_errno($db)."</b><br>\nFehler-Ausgabe:
<b>".mysql_error($db)."</b>";
}
?>
Natürlich die entsprechenden Dinge anpassen (Variablen und so).
Also wenns völlig falsch ist, bitte nicht schlagen, hab schon ewig nichts mehr in PHP gemacht

hi!
Hab zwar nicht so viel ahnung von PHP, aber dafür mit SQL. In phpMyAdmin kannst Du SQL-Befehle direkt rein schreiben.
Einfach so wie du's schon hattest:
UPDATE [tablename] SET user_level=0 WHERE user_level=1
oder wenn Du User 4 bis 100 haben willst dann den WHERE-Teil entsprechend ändern. Z.B.
WHERE (User_Nr >= 4) and (USER_NR <= 100)
Sollte eigentlich funzen.
Hab zwar nicht so viel ahnung von PHP, aber dafür mit SQL. In phpMyAdmin kannst Du SQL-Befehle direkt rein schreiben.
Einfach so wie du's schon hattest:
UPDATE [tablename] SET user_level=0 WHERE user_level=1
oder wenn Du User 4 bis 100 haben willst dann den WHERE-Teil entsprechend ändern. Z.B.
WHERE (User_Nr >= 4) and (USER_NR <= 100)
Sollte eigentlich funzen.
Gruss,
Jacques
Jacques
Wenn Du nur einige mit null füllen willst dann lautet die Query
Update [TableName] set [Spalte] = null where ..... [und so weiter]
Wenn Du die Spalte bei neuanlage auf null setzen willst, dann gib keinen Standardwert vor. Die Null- Eigenschaft der Spalte muss auf "null" stehen, sonst gibt's ne Fehlermeldung.
Update [TableName] set [Spalte] = null where ..... [und so weiter]
Wenn Du die Spalte bei neuanlage auf null setzen willst, dann gib keinen Standardwert vor. Die Null- Eigenschaft der Spalte muss auf "null" stehen, sonst gibt's ne Fehlermeldung.
Gruss,
Jacques
Jacques