Maison développement back-end Problème PHP Comment écrire un transfert en PHP

Comment écrire un transfert en PHP

Apr 04, 2023 am 09:01 AM

Dans le domaine financier d’aujourd’hui, le transfert de fonds entre comptes est devenu une opération courante dans la vie quotidienne. En développement web, ce genre d’opération est également très courant. PHP est un langage largement utilisé dans le développement Web en raison de sa courbe d’apprentissage relativement simple et de sa forte évolutivité. En PHP, on peut facilement implémenter la fonction de transfert de compte. Ensuite, cet article vous amènera à apprendre le transfert de compte en PHP.

Avant de commencer, nous devons clarifier un concept : le cœur du transfert de fonds réside dans le fonctionnement de la base de données. Quel que soit le langage que vous utilisez pour le développement, vous devrez éventuellement opérer sur la base de données.

Tout d'abord, nous devons créer deux tables dans la base de données, l'une est la table utilisateur et l'autre est la table des enregistrements de transfert. Dans le tableau des utilisateurs, nous enregistrons le solde du compte de chaque utilisateur, ainsi que d'autres informations pertinentes telles que le numéro de téléphone, l'adresse e-mail, etc. Dans le tableau des enregistrements de transfert, nous enregistrons les informations de transfert entre utilisateurs, telles que le montant du transfert, l'heure, le cédant et le bénéficiaire. Ces deux tables peuvent être créées à l'aide de bases de données relationnelles telles que MySQL et PostgreSQL. Nous prenons ici MySQL comme exemple.

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)
);
Copier après la connexion

Ce qui précède sont les instructions SQL pour créer deux tables. Nous pouvons exécuter ces instructions manuellement ou utiliser du code PHP pour les créer.

Ensuite, nous devons nous connecter à la base de données en code PHP et utiliser l'extension MySQLi en PHP pour créer une connexion :

<?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 '连接数据库成功!';
?>
Copier après la connexion

Ensuite, nous devons mettre en œuvre des opérations de transfert entre utilisateurs. Tout d’abord, nous devons vérifier si les soldes des comptes des deux parties au transfert remplissent les conditions du transfert. Si les conditions sont remplies, nous devons utiliser la fonction de transaction de MySQL pour effectuer des opérations atomiques sur les données. Voici le code qui utilise l'extension MySQLi pour implémenter l'opération de transfert :

<?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();
?>
Copier après la connexion

Le code ci-dessus implémente l'opération de transfert de 500 yuans du compte 1 au compte 2. Dans le code, nous activons d'abord la fonction de transaction de MySQL pour garantir l'atomicité des données. Ensuite, nous interrogeons les soldes des comptes du compte 1 et du compte 2 et mettons à jour les enregistrements de la base de données. Enfin, nous avons enregistré les informations de transfert dans le tableau des enregistrements de transfert.

Pour résumer, les étapes pour mettre en œuvre les opérations de transfert en PHP sont les suivantes :

  1. Créer des formulaires utilisateur et des formulaires d'enregistrement de transfert
  2. Se connecter à la base de données
  3. Vérifier si le solde du compte répond aux conditions de transfert
  4. Ouvrir des transactions et effectuer opérations de base de données
  5. Enregistrements de transfert d'enregistrement
  6. Commit transaction

Il convient de noter que dans le développement réel, afin de garantir la sécurité du programme et l'intégrité des données, nous devons effectuer une gestion des erreurs et une vérification des données.

Après avoir étudié le contenu ci-dessus, je pense que vous maîtrisez la méthode de mise en œuvre des opérations de transfert en PHP. Dans le développement réel, nous devons l'appliquer de manière flexible en fonction de la situation réelle et suivre de bonnes pratiques de programmation pour garantir la lisibilité et la maintenabilité du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. Mar 25, 2025 am 10:37 AM

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

Encryption PHP: cryptage symétrique vs asymétrique. Encryption PHP: cryptage symétrique vs asymétrique. Mar 25, 2025 pm 03:12 PM

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Mar 25, 2025 pm 03:06 PM

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. Mar 26, 2025 pm 04:13 PM

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

Comment récupérer les données d'une base de données à l'aide de PHP? Comment récupérer les données d'une base de données à l'aide de PHP? Mar 20, 2025 pm 04:57 PM

L'article discute de la récupération des données des bases de données à l'aide de PHP, couvrant les étapes, les mesures de sécurité, les techniques d'optimisation et les erreurs communes avec des solutions. COMMANDE CHAPITRE: 159

Quel est le but de mysqli_query () et mysqli_fetch_assoc ()? Quel est le but de mysqli_query () et mysqli_fetch_assoc ()? Mar 20, 2025 pm 04:55 PM

L'article traite des fonctions MySQLI_Query () et MySQLI_Fetch_assoc () en PHP pour les interactions de la base de données MySQL. Il explique leurs rôles, leurs différences et fournit un exemple pratique de leur utilisation. L'argument principal se concentre sur les avantages de l'USIN

Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Mar 26, 2025 pm 04:18 PM

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

Protection PHP CSRF: comment empêcher les attaques du CSRF. Protection PHP CSRF: comment empêcher les attaques du CSRF. Mar 25, 2025 pm 03:05 PM

L'article traite des stratégies pour prévenir les attaques du CSRF dans PHP, notamment en utilisant des jetons CSRF, des cookies de même site et une bonne gestion de session.

See all articles