Maison  >  Article  >  développement back-end  >  Comment écrire un transfert en PHP

Comment écrire un transfert en PHP

PHPz
PHPzoriginal
2023-04-04 09:01:19555parcourir

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)
);

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 '连接数据库成功!';
?>

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();
?>

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:
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