Heim  >  Artikel  >  Backend-Entwicklung  >  So schreiben Sie eine Überweisung in PHP

So schreiben Sie eine Überweisung in PHP

PHPz
PHPzOriginal
2023-04-04 09:01:19513Durchsuche

Im heutigen Finanzbereich ist der Transfer von Geldern zwischen Konten zu einem alltäglichen Vorgang im täglichen Leben geworden. Auch in der Webentwicklung kommt diese Art der Operation sehr häufig vor. PHP ist aufgrund seiner relativ einfachen Lernkurve und starken Skalierbarkeit eine in der Webentwicklung weit verbreitete Sprache. In PHP können wir die Kontoübertragungsfunktion einfach implementieren. Als Nächstes lernen Sie in diesem Artikel die Kontoübertragung in PHP kennen.

Bevor wir beginnen, müssen wir ein Konzept klären: Der Kern des Geldtransfers liegt im Betrieb der Datenbank. Unabhängig davon, welche Sprache Sie für die Entwicklung verwenden, müssen Sie irgendwann mit der Datenbank arbeiten.

Zuerst müssen wir zwei Tabellen in der Datenbank erstellen, eine ist die Benutzertabelle und die andere ist die Übertragungsdatensatztabelle. In der Benutzertabelle erfassen wir den Kontostand jedes Benutzers sowie andere relevante Informationen wie Telefonnummer, E-Mail-Adresse usw. In der Überweisungsdatensatztabelle erfassen wir Überweisungsinformationen zwischen Benutzern, wie z. B. Überweisungsbetrag, Zeitpunkt, Übertragender und Begünstigter. Diese beiden Tabellen können mit relationalen Datenbanken wie MySQL und PostgreSQL erstellt werden. Hier nehmen wir MySQL als Beispiel.

CREATE TABLE users (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    phone VARCHAR(20) NOT NULL,
    balance DECIMAL(10,2) NOT NULL
);

CREATE TABLE transfers (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    from_user_id INT(11) NOT NULL,
    to_user_id INT(11) NOT NULL,
    amount DECIMAL(10,2) NOT NULL,
    date DATETIME NOT NULL,
    FOREIGN KEY (from_user_id) REFERENCES users(id),
    FOREIGN KEY (to_user_id) REFERENCES users(id)
);

Das Obige sind die SQL-Anweisungen zum Erstellen von zwei Tabellen. Wir können diese Anweisungen manuell ausführen oder PHP-Code verwenden, um sie zu erstellen.

Als nächstes müssen wir im PHP-Code eine Verbindung zur Datenbank herstellen und die MySQLi-Erweiterung in PHP verwenden, um eine Verbindung herzustellen:

<?php
$host = &#39;localhost&#39;;
$username = &#39;your_username&#39;;
$password = &#39;your_password&#39;;
$dbname = &#39;your_database&#39;;

$mysqli = new mysqli($host, $username, $password, $dbname);

if ($mysqli->connect_error) {
    die('连接数据库失败: ' . $mysqli->connect_error);
}

echo '连接数据库成功!';
?>

Als nächstes müssen wir Übertragungsvorgänge zwischen Benutzern implementieren. Zunächst müssen wir prüfen, ob die Kontostände beider Übertragungspartner den Übertragungsbedingungen entsprechen. Wenn die Bedingungen erfüllt sind, müssen wir die Transaktionsfunktion von MySQL verwenden, um atomare Operationen an Daten durchzuführen. Das Folgende ist der Code, der die MySQLi-Erweiterung verwendet, um den Übertragungsvorgang zu implementieren:

<?php
$mysqli->autocommit(FALSE); // 开始事务

$from_user_id = 1;
$to_user_id = 2;
$amount = 500;

// 查询原账户余额
$result = $mysqli->query("SELECT balance FROM users WHERE id=$from_user_id");
$row = $result->fetch_assoc();
$from_user_balance = $row['balance'];
$result->free();

if ($from_user_balance >= $amount) {
    $result = $mysqli->query("SELECT balance FROM users WHERE id=$to_user_id");
    $row = $result->fetch_assoc();
    $to_user_balance = $row['balance'];
    $result->free();

    $from_user_balance -= $amount;
    $to_user_balance += $amount;

    $mysqli->query("UPDATE users SET balance=$from_user_balance WHERE id=$from_user_id");
    $mysqli->query("UPDATE users SET balance=$to_user_balance WHERE id=$to_user_id");

    $mysqli->query("INSERT INTO transfers (from_user_id, to_user_id, amount, date) VALUES ($from_user_id, $to_user_id, $amount, NOW())");

    if ($mysqli->commit()) {
        echo "转账成功!";
    } else {
        echo "转账失败!";
    }
} else {
    echo "账户余额不足!";
}

$mysqli->close();
?>

Der obige Code implementiert den Vorgang der Übertragung von 500 Yuan von Konto 1 auf Konto 2. Im Code aktivieren wir zunächst die Transaktionsfunktion von MySQL, um die Atomizität der Daten sicherzustellen. Anschließend fragen wir die Kontostände von Konto 1 und Konto 2 ab und aktualisieren die Datenbankeinträge. Abschließend haben wir die Übertragungsinformationen in der Übertragungsdatensatztabelle aufgezeichnet.

Zusammenfassend lauten die Schritte zum Implementieren von Überweisungsvorgängen in PHP wie folgt:

  1. Benutzerformulare erstellen und Datensatzformulare übertragen
  2. Mit der Datenbank verbinden
  3. Überprüfen, ob der Kontostand die Überweisungsbedingungen erfüllt
  4. Transaktionen öffnen und durchführen Datenbankoperationen
  5. Datensatzübertragungsdatensätze
  6. Transaktion festschreiben

Es ist erwähnenswert, dass wir in der tatsächlichen Entwicklung eine Fehlerbehandlung und Datenüberprüfung durchführen müssen, um die Sicherheit des Programms und die Integrität der Daten zu gewährleisten.

Nach dem Studium der oben genannten Inhalte glaube ich, dass Sie die Methode zur Implementierung von Übertragungsvorgängen in PHP beherrschen. In der tatsächlichen Entwicklung müssen wir es entsprechend den tatsächlichen Bedingungen flexibel anwenden und gute Programmierpraktiken befolgen, um die Lesbarkeit und Wartbarkeit des Codes sicherzustellen.

Das obige ist der detaillierte Inhalt vonSo schreiben Sie eine Überweisung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn