Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menulis pemindahan dalam PHP

Bagaimana untuk menulis pemindahan dalam PHP

Apr 04, 2023 am 09:01 AM

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)
);
Salin selepas log masuk

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

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();
?>
Salin selepas log masuk

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 Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()? Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()? Mar 20, 2025 pm 04:55 PM

Artikel ini membincangkan fungsi mysqli_query () dan mysqli_fetch_assoc () dalam PHP untuk interaksi pangkalan data MySQL. Ia menerangkan peranan, perbezaan, dan memberikan contoh praktikal penggunaannya. Hujah utama memberi tumpuan kepada manfaat usin

Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Mar 20, 2025 pm 04:57 PM

Artikel membincangkan mendapatkan data dari pangkalan data menggunakan PHP, meliputi langkah, langkah keselamatan, teknik pengoptimuman, dan kesilapan umum dengan penyelesaian.

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

See all articles