Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengendalikan pangkalan data dalam PHP?
Dalam pembangunan web, pangkalan data adalah komponen yang sangat penting. Sebagai bahasa skrip, PHP sesuai untuk menulis kod yang berinteraksi dengan pangkalan data. PHP menyediakan pelbagai cara untuk mengendalikan pangkalan data, termasuk fungsi MySQL asli, PDO, dan rangka kerja ORM peringkat lebih tinggi. Dalam artikel ini, kami akan membincangkan cara bekerja dengan pangkalan data dalam PHP.
MySQL ialah sistem pengurusan pangkalan data hubungan yang popular dan salah satu pangkalan data yang paling biasa digunakan untuk PHP. PHP menyediakan satu siri fungsi MySQL asli yang boleh digunakan untuk menyambung ke pangkalan data MySQL, data pertanyaan, memasukkan data, mengubah suai data dan memadam data. Berikut ialah contoh kod asas untuk menyambung ke pangkalan data MySQL tempatan dan menanyakan semua data dalam jadual pengguna:
<?php // 连接 MySQL 数据库 $link = mysqli_connect("localhost", "username", "password", "database_name"); // 检查连接是否成功 if ($link === false) { die("Error: Could not connect. " . mysqli_connect_error()); } // 查询 users 表中的所有数据 $sql = "SELECT * FROM users"; if ($result = mysqli_query($link, $sql)) { // 打印结果 if (mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_array($result)) { echo $row['id'] . " " . $row['name'] . " " . $row['email']; echo "<br>"; } // 释放结果集资源 mysqli_free_result($result); } else { echo "No records found."; } } else { echo "Error: Could not able to execute $sql. " . mysqli_error($link); } // 关闭连接 mysqli_close($link); ?>
Dalam kod di atas, kami mula-mula menggunakan fungsi mysqli_connect() untuk menyambung ke pangkalan data MySQL. Kami kemudiannya menanyakan semua data dalam jadual pengguna, menggunakan fungsi mysqli_query() untuk melaksanakan pernyataan SQL dan mengembalikan set hasil. Akhir sekali, kami menggunakan fungsi mysqli_fetch_array() untuk mendapatkan hasil pertanyaan baris demi baris dan mengeluarkannya ke halaman. Gunakan fungsi mysqli_free_result() untuk mengeluarkan sumber set hasil, dan gunakan fungsi mysqli_close() untuk menutup sambungan.
PDO ialah lapisan abstraksi pangkalan data ringan PHP yang menyokong pelbagai pangkalan data dan menyediakan kaedah operasi pangkalan data yang lebih mudah dan cekap. Menggunakan PDO, kita boleh menggunakan satu pangkalan kod untuk mengendalikan pelbagai jenis pangkalan data tanpa mengubah kod. Berikut ialah kod sampel asas yang bersambung ke pangkalan data MySQL tempatan dan menanyakan semua data dalam jadual pengguna:
<?php // 连接 MySQL 数据库 $dsn = "mysql:host=localhost;dbname=database_name"; $username = "username"; $password = "password"; // 创建 PDO 实例 try { $pdo = new PDO($dsn, $username, $password); } catch (PDOException $e) { die("Error: Could not connect. " . $e->getMessage()); } // 查询 users 表中的所有数据 $sql = "SELECT * FROM users"; if ($result = $pdo->query($sql)) { // 打印结果 if ($result->rowCount() > 0) { while ($row = $result->fetch()) { echo $row['id'] . " " . $row['name'] . " " . $row['email']; echo "<br>"; } } else { echo "No records found."; } } else { echo "Error: Could not able to execute $sql. " . $pdo->errorInfo(); } // 关闭连接 $pdo = null; ?>
Dalam kod di atas, kami mula-mula mencipta contoh PDO menggunakan $dsn, $nama pengguna dan $kata laluan Sambung ke pangkalan data MySQL. Kami kemudiannya menanyakan semua data dalam jadual pengguna, menggunakan fungsi $pdo->query() untuk melaksanakan pernyataan SQL dan mengembalikan set hasil. Akhir sekali, kami menggunakan fungsi $result->fetch() untuk mengambil hasil pertanyaan baris demi baris dan mengeluarkannya ke halaman. Tutup sambungan menggunakan pernyataan $pdo = null;
ORM (Pemetaan Perhubungan Objek) ialah rangka kerja perisian yang digunakan untuk mewujudkan pemetaan antara objek dan pangkalan data hubungan . Rangka kerja ORM ialah perpustakaan peringkat tinggi yang membantu kami membangun dan menyelenggara aplikasi dengan lebih cepat. Terdapat berbilang rangka kerja ORM untuk dipilih dalam PHP, termasuk Laravel's Eloquent, Symfony's Doctrine, Yii2's ActiveRecord, dsb. Berikut ialah kod sampel asas yang menggunakan Eloquent ORM untuk menyambung ke pangkalan data MySQL tempatan dan menanyakan semua data dalam jadual pengguna:
<?php // 引入 Eloquent ORM 类 require_once "vendor/autoload.php"; use IlluminateDatabaseCapsuleManager as Capsule; // 创建 Eloquent ORM 实例 $capsule = new Capsule; // 配置数据库连接信息 $capsule->addConnection([ "driver" => "mysql", "host" => "localhost", "database" => "database_name", "username" => "username", "password" => "password", ]); // 启动 Eloquent ORM $capsule->bootEloquent(); // 查询 users 表中的所有数据 $users = Capsule::table("users")->get(); // 打印结果 if (count($users) > 0) { foreach ($users as $user) { echo $user->id . " " . $user->name . " " . $user->email; echo "<br>"; } } else { echo "No records found."; } ?>
Dalam kod di atas, kami mula-mula menggunakan Composer untuk memasang Eloquent ORM dan memperkenalkan kelas yang sepadan. Kemudian kami membuat contoh Kapsul dan menambah maklumat sambungan pangkalan data. Mulakan ORM Eloquent menggunakan fungsi $capsule->bootEloquent(). Akhir sekali, kami menggunakan fungsi Capsule::table() untuk menanyakan semua data dalam jadual pengguna dan menggunakan gelung foreach untuk mengeluarkannya baris demi baris pada halaman.
Kesimpulan
Apabila mengendalikan pangkalan data dalam PHP, kami mempunyai banyak pilihan. Anda boleh menyambung ke pangkalan data MySQL dengan mudah menggunakan fungsi MySQL asli, tetapi jumlah kod agak rumit. PDO boleh digunakan untuk menyambung kepada pelbagai jenis pangkalan data dan menyediakan beberapa kaedah operasi yang cekap. Menggunakan rangka kerja ORM boleh memudahkan pembangunan kod kami dan memberikan kestabilan dan kebolehselenggaraan yang lebih tinggi. Kita perlu memilih kaedah yang paling sesuai berdasarkan keperluan khusus projek.
Atas ialah kandungan terperinci Bagaimana untuk mengendalikan pangkalan data dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!