Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menulis pemindahan dalam PHP

Bagaimana untuk menulis pemindahan dalam PHP

PHPz
PHPzasal
2023-04-04 09:01:19510semak imbas

Dalam bidang kewangan hari ini, pemindahan dana antara akaun telah menjadi operasi biasa dalam kehidupan seharian. Dalam pembangunan web, operasi seperti ini juga sangat biasa. PHP ialah bahasa yang digunakan secara meluas dalam pembangunan web kerana keluk pembelajarannya yang agak mudah dan kebolehskalaan yang kuat. Dalam PHP, kita boleh melaksanakan fungsi pemindahan akaun dengan mudah. Seterusnya, artikel ini akan membawa anda mempelajari pemindahan akaun dalam PHP.

Sebelum kita mula, kita perlu menjelaskan konsep: teras pemindahan dana terletak pada pengendalian pangkalan data. Tidak kira bahasa apa yang anda gunakan untuk pembangunan, anda akhirnya perlu mengendalikan pangkalan data.

Pertama, kita perlu mencipta dua jadual dalam pangkalan data, satu jadual pengguna dan satu lagi jadual rekod pemindahan. Dalam jadual pengguna, kami merekodkan baki akaun setiap pengguna, serta maklumat lain yang berkaitan seperti nombor telefon, alamat e-mel, dsb. Dalam jadual rekod pemindahan, kami merekodkan maklumat pemindahan antara pengguna, seperti jumlah pemindahan, masa, pemindah dan benefisiari. Kedua-dua jadual ini boleh dibuat menggunakan pangkalan data hubungan seperti MySQL dan PostgreSQL Di sini kita mengambil MySQL sebagai contoh.

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

Di atas adalah pernyataan SQL untuk mencipta dua jadual. Kita boleh melaksanakan penyataan ini secara manual atau menggunakan kod PHP untuk menciptanya.

Seterusnya, kita perlu menyambung ke pangkalan data dalam kod PHP dan menggunakan sambungan MySQLi dalam PHP untuk membuat sambungan:

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

Seterusnya, kita perlu melaksanakan operasi pemindahan antara pengguna. Pertama, kita perlu menyemak sama ada baki akaun kedua-dua pihak kepada pemindahan memenuhi syarat pemindahan. Jika syarat dipenuhi, kita perlu menggunakan fungsi transaksi MySQL untuk melaksanakan operasi atom pada data. Berikut ialah kod yang menggunakan sambungan MySQLi untuk melaksanakan operasi pemindahan:

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

Kod di atas melaksanakan operasi pemindahan 500 yuan daripada akaun 1 ke akaun 2. Dalam kod tersebut, kami mula-mula mendayakan fungsi transaksi MySQL untuk memastikan atomicity data. Kemudian, kami menanyakan baki akaun Akaun 1 dan Akaun 2 dan mengemas kini rekod pangkalan data. Akhirnya, kami merekodkan maklumat pemindahan dalam jadual rekod pemindahan.

Ringkasnya, langkah-langkah untuk melaksanakan operasi pemindahan dalam PHP adalah seperti berikut:

  1. Buat borang pengguna dan borang rekod pemindahan
  2. Sambung ke pangkalan data
  3. Akaun pertanyaan sama ada baki memenuhi syarat pemindahan
  4. Buka transaksi dan lakukan operasi pangkalan data
  5. Rekod rekod pemindahan
  6. Serahkan transaksi

Perlu diingat bahawa dalam amalan Semasa pembangunan, untuk memastikan keselamatan program dan integriti data, kami perlu melakukan pengendalian ralat dan pengesahan data.

Setelah mengkaji kandungan di atas, saya percaya anda telah menguasai kaedah melaksanakan operasi pemindahan dalam PHP. Dalam pembangunan sebenar, kita perlu menerapkannya secara fleksibel mengikut keadaan sebenar dan mengikuti amalan pengaturcaraan yang baik untuk memastikan kebolehbacaan dan kebolehselenggaraan kod.

Atas ialah kandungan terperinci Bagaimana untuk menulis pemindahan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn