Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menggantikan pangkalan data dalam PHP

Bagaimana untuk menggantikan pangkalan data dalam PHP

PHPz
PHPzasal
2023-03-29 11:32:09634semak imbas

Penggantian pangkalan data PHP - tutorial ringkas dan mudah difahami

Semasa proses pembangunan, kami sering menghadapi situasi di mana pangkalan data perlu dikemas kini. Walau bagaimanapun, apabila melalui proses ini, beberapa orang berfikir tentang menggantikan pangkalan data. Walau bagaimanapun, jika anda ingin menukar pangkalan data anda, anda mungkin menghadapi beberapa kesukaran, terutamanya jika anda ingin menggunakan sistem pengurusan pangkalan data yang berbeza. Dalam artikel ini, kita akan membincangkan cara menggantikan pangkalan data dalam PHP.

1 Pilih sistem pengurusan pangkalan data baharu

Dalam PHP, kita boleh menggunakan pelbagai sistem pengurusan pangkalan data. Contohnya: MySQL, PostgreSQL dan SQLite, dsb. Walau bagaimanapun, sila ambil perhatian bahawa apabila memilih pangkalan data baharu anda, pilih satu yang sesuai dengan keperluan anda dan jenis storan data. Kerana pangkalan data yang berbeza mempunyai prestasi dan kegunaan yang berbeza.

2. Wujudkan sambungan pangkalan data baharu

Selepas memilih pangkalan data baharu, kami perlu mewujudkan sambungan pangkalan data baharu untuk menggunakannya dalam aplikasi. Kita boleh menyambung ke pangkalan data yang berbeza menggunakan objek PDO atau objek mysqli dalam PHP. Sebelum menyambung ke pangkalan data baharu, pastikan pelayan anda telah memasang pangkalan data pilihan anda dan anda mempunyai kebenaran untuk menyambung (nama pengguna + kata laluan). Berikut ialah contoh kod:

Sambung menggunakan PDO:

$dsn = 'mysql:host=localhost;dbname=test';
$username = 'root';
$password = '';
$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
);
$pdo = new PDO($dsn, $username, $password, $options);

Sambung menggunakan Mysqli:

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";

3 Buka sambungan pangkalan data lama

dalam Sebelum menyambung ke pangkalan data baharu, kita perlu membuka sambungan pangkalan data lama untuk membaca data daripada data lama. Kita boleh menyambung ke pangkalan data lama menggunakan PDO atau mysqli. Berikut ialah kod contoh:

Sambung menggunakan PDO:

$dsn = 'mysql:host=localhost;dbname=old_db';
$username = 'root';
$password = '';
$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
);
$pdo_old = new PDO($dsn, $username, $password, $options);

Sambung menggunakan Mysqli:

$servername_old = "localhost";
$username_old = "username";
$password_old = "password";
$dbname_old = "myDB_old";

// 创建连接
$conn_old = mysqli_connect($servername_old, $username_old, $password_old, $dbname_old);
// 检测连接
if (!$conn_old) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";

4. Pilih data daripada pangkalan data lama

Selepas sambungan pangkalan data lama berjaya, kita boleh menggunakan pernyataan SQL untuk memilih data daripada data lama. Data akan disalin ke pangkalan data baharu. Sebagai contoh, kami ingin memilih semua data daripada jadual "pengguna" dalam pangkalan data lama. Berikut ialah contoh kod:

Menggunakan PDO:

$old_users = $pdo_old->query("SELECT * FROM users")->fetchAll(PDO::FETCH_ASSOC);

Menggunakan Mysqli:

$sql = "SELECT * FROM users";
$result = mysqli_query($conn_old, $sql);

// 输出每行数据
while($row = mysqli_fetch_assoc($result)) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["email"]. "<br>";
}

5. Tulis ke pangkalan data baharu

Sekarang , kita boleh menulis data yang dipilih ke pangkalan data baharu. Kita perlu menggunakan pernyataan SQL untuk menulis data ke jadual pangkalan data baharu. Semasa proses ini, kita perlu memberi perhatian kepada fakta bahawa medan jadual pangkalan data baharu dan lama adalah sama, dan jenis data mesti sepadan. Berikut ialah kod contoh:

Gunakan PDO:

$pdo->beginTransaction();
foreach ($old_users as $old_user) {
    $stmt = $pdo->prepare("
         INSERT INTO users 
         (id, name, email) 
         VALUES (:id, :name, :email)
    ");
    $stmt->bindParam(':id', $old_user['id'], PDO::PARAM_INT);
    $stmt->bindParam(':name', $old_user['name'], PDO::PARAM_STR);
    $stmt->bindParam(':email', $old_user['email'], PDO::PARAM_STR);
    $stmt->execute();
}
$pdo->commit();

Gunakan Mysqli:

$sql = "INSERT INTO users (id, name, email)
VALUES ('1', 'John', 'john@example.com')";
if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

6 data Selepas menyalin dari pangkalan data lama ke pangkalan data baru, kita harus memadamkan data dalam pangkalan data lama yang tidak diperlukan lagi. Kita boleh menggunakan pernyataan DELETE untuk memadam semua data atau baris tertentu dalam jadual. Berikut ialah contoh kod:

Menggunakan PDO:

Menggunakan Mysqli:
$pdo_old->exec("DELETE FROM users");

Kesimpulan
$sql = "DELETE FROM users";
if (mysqli_query($conn_old, $sql)) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . mysqli_error($conn_old);
}

Dalam PHP, dengan Tutorial mudah ini supaya anda lebih memahami cara menggantikan pangkalan data. Walaupun operasi ini boleh menyebabkan anda beberapa masalah, jika anda mengikuti langkah di atas, pada dasarnya tidak akan ada masalah.

Atas ialah kandungan terperinci Bagaimana untuk menggantikan pangkalan data 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