Bagaimana untuk mereka bentuk struktur jadual MySQL yang selamat untuk melaksanakan fungsi pembayaran?
Dengan perkembangan pesat e-dagang, fungsi pembayaran telah menjadi salah satu keperluan teras laman web dan aplikasi. Mereka bentuk struktur jadual MySQL yang selamat adalah langkah penting dalam memastikan kebolehpercayaan dan keselamatan fungsi pembayaran. Artikel ini akan memperkenalkan cara mereka bentuk struktur jadual MySQL yang selamat untuk melaksanakan fungsi pembayaran dan menyediakan contoh kod khusus.
Untuk melaksanakan fungsi pembayaran, anda perlu mereka bentuk jadual pengguna terlebih dahulu untuk menyimpan maklumat asas pengguna . Jadual pengguna perlu mengandungi sekurang-kurangnya medan berikut:
CREATE TABLE `user` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `username` VARCHAR(50) NOT NULL, `password` VARCHAR(255) NOT NULL, `email` VARCHAR(100) NOT NULL, `phone` VARCHAR(20) NOT NULL, `balance` DECIMAL(10, 2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`), UNIQUE KEY `email` (`email`), UNIQUE KEY `phone` (`phone`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `order` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `user_id` INT(10) UNSIGNED NOT NULL, `order_no` VARCHAR(50) NOT NULL, `amount` DECIMAL(10, 2) NOT NULL, `status` ENUM('pending', 'paid', 'cancelled') NOT NULL DEFAULT 'pending', PRIMARY KEY (`id`), FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
order_id: medan id jadual pesanan yang berkaitan , menunjukkan pesanan berbayar# 🎜🎜#
payment_method: kaedah pembayaran (Alipay, pembayaran WeChat, dll.)CREATE TABLE `payment` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `order_id` INT(10) UNSIGNED NOT NULL, `payment_method` VARCHAR(50) NOT NULL, `payment_time` DATETIME NOT NULL, `payment_status` ENUM('success', 'failed') NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`order_id`) REFERENCES `order`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
<?php $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "payment"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare("INSERT INTO `user` (username, password, email, phone) VALUES (:username, :password, :email, :phone)"); $stmt->bindParam(':username', $username); $stmt->bindParam(':password', $password); $stmt->bindParam(':email', $email); $stmt->bindParam(':phone', $phone); // 设置参数 $username = "test"; $password = password_hash("123456", PASSWORD_DEFAULT); $email = "test@example.com"; $phone = "1234567890"; $stmt->execute(); echo "插入数据成功"; } catch(PDOException $e) { echo "Error: " . $e->getMessage(); } $conn = null; ?>
Atas ialah kandungan terperinci Bagaimana untuk mereka bentuk struktur jadual MySQL yang selamat untuk melaksanakan fungsi pembayaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!