Bankprojekt Startguthaben: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „== Startguthaben für Benutzerkonten setzen == Nachdem die Benutzer erfolgreich in die Datenbank importiert wurden, muss für jeden Benutzer ein Konto mit ein…“)
 
(kein Unterschied)

Aktuelle Version vom 17. Februar 2025, 20:12 Uhr

Startguthaben für Benutzerkonten setzen

Nachdem die Benutzer erfolgreich in die Datenbank importiert wurden, muss für jeden Benutzer ein Konto mit einem **Startguthaben von 10.000 Talern** angelegt werden. Dies geschieht über ein weiteres PHP-Skript.

PHP-Skript zur Erstellung der Konten

Das folgende PHP-Skript liest die Benutzer aus der Datenbank aus und erstellt für jeden ein Konto mit einem Anfangsbetrag von **10.000 Talern**:

<?php
$host = 'localhost';
$dbname = 'bankdb';
$username = 'root';
$password = '123Start$';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Alle Benutzer aus der users-Tabelle abrufen
    $stmt = $pdo->query("SELECT id FROM users");
    $users = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // Startguthaben für jeden Benutzer setzen
    $sql = "INSERT INTO accounts (user_id, balance) VALUES (:user_id, 10000.00)";
    $stmt = $pdo->prepare($sql);

    foreach ($users as $user) {
        $stmt->execute([':user_id' => $user['id']]);
    }

    echo "Startguthaben für alle Benutzer erfolgreich angelegt!";
} catch (PDOException $e) {
    die("Fehler: " . $e->getMessage());
}
?>

Führe das Skript aus, um die Konten mit dem Startguthaben zu erstellen:

php create_accounts.php

Überprüfung der Konten

Nach der Ausführung des Skripts kann überprüft werden, ob alle Benutzer ihr Konto mit dem Startguthaben erhalten haben:

SELECT users.username, accounts.balance 
FROM accounts 
JOIN users ON accounts.user_id = users.id;

Wenn die Ausgabe alle Benutzer mit einem Kontostand von **10.000 Talern** zeigt, war die Erstellung erfolgreich.