Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang pelbagai kaedah untuk menanyakan semua data dalam jadual PHP

Penjelasan terperinci tentang pelbagai kaedah untuk menanyakan semua data dalam jadual PHP

PHPz
PHPzasal
2023-04-04 17:28:093094semak imbas

Dalam pembangunan projek sebenar, selalunya perlu untuk menanyakan semua data dalam jadual. Sebagai tindak balas kepada keperluan ini, PHP menyediakan beberapa kaedah berbeza, yang akan diterangkan secara terperinci dalam artikel ini.

1. Gunakan fungsi mysql_query untuk menanyakan data

Fungsi mysql_query ialah fungsi yang sangat biasa yang boleh mengendalikan pertanyaan, sisipan, kemas kini dan operasi lain pangkalan data MySQL. Untuk menanyakan semua data dalam jadual, hanya gunakan penyataan SELECT:

$sql = "SELECT * FROM table_name";
$result = mysql_query($sql);

Antaranya, table_name ialah nama jadual yang ingin anda tanyakan dan SELECT * bermaksud menanyakan semua medan dan data baris dalam meja itu. Selepas fungsi mysql_query dilaksanakan, $result akan menyimpan hasil pertanyaan, dan data boleh dibaca baris demi baris melalui fungsi mysql_fetch_array:

while ($row = mysql_fetch_array($result)) {
  // 这里处理每一行数据
}

Fungsi mysql_fetch_array akan mengembalikan tatasusunan yang mengandungi data bagi baris semasa. Jika tiada lagi data dalam baris semasa, gelung while akan berhenti.

2. Gunakan fungsi mysqli_query untuk menanyakan data

Fungsi mysqli_query ialah fungsi baharu yang diperkenalkan dalam PHP5 Ia mempunyai fungsi yang serupa dengan fungsi mysql_query dan juga boleh digunakan untuk melakukan pertanyaan MySQL, memasukkan, dan mengemas kini operasi. Walau bagaimanapun, fungsi mysqli_query adalah lebih selamat dan cekap untuk digunakan daripada fungsi mysql_query, jadi kami mengesyorkan menggunakan fungsi mysqli_query. Berbeza dengan fungsi mysql_query, fungsi mysqli_query perlu disambungkan ke pangkalan data sebelum ia boleh digunakan. Berikut ialah contoh:

$mysqli = new mysqli("localhost", "user", "password", "database_name");
if ($mysqli->connect_error) {
    die("连接失败: " . $mysqli->connect_error);
}

$sql = "SELECT * FROM table_name";
$result = $mysqli->query($sql);

Di mana localhost ialah alamat pelayan MySQL, pengguna dan kata laluan ialah nama pengguna dan kata laluan yang digunakan untuk menyambung ke pangkalan data, dan nama_pangkalan data ialah nama pangkalan data yang akan disambungkan.

Selepas melaksanakan fungsi mysqli_query, data boleh dibaca baris demi baris melalui fungsi mysqli_fetch_array:

while ($row = mysqli_fetch_array($result)) {
   // 这里处理每一行数据
}

Data yang diperoleh melalui fungsi mysqli_fetch_array adalah serupa dengan data yang diperoleh oleh mysql_fetch_fetch fungsi.

3. Gunakan PDO untuk menanyakan data

PDO ialah kaedah akses pangkalan data yang popular dalam PHP. Ia boleh berinteraksi dengan pelbagai pangkalan data, termasuk MySQL, SQLite, PostgreSQL, dll. Langkah-langkah untuk menggunakan PDO untuk membuat pertanyaan data adalah seperti berikut:

$dsn = "mysql:host=localhost;dbname=mydatabase";
$username = "myusername";
$password = "mypassword";

try {
  $pdo = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
  die("连接失败: " . $e->getMessage());
}

$sql = "SELECT * FROM table_name";
$result = $pdo->query($sql);

Perlu diambil perhatian bahawa, tidak seperti mysqli_query, menggunakan PDO memerlukan penetapan jenis pangkalan data dan alamat hos. Dalam kod di atas, kami menggunakan pangkalan data MySQL, localhost ialah alamat hos, mydatabase ialah nama pangkalan data yang hendak disambungkan, nama pengguna dan kata laluan saya ialah nama pengguna dan kata laluan yang digunakan untuk menyambung ke MySQL.

Selepas melaksanakan fungsi $pdo->query, anda boleh membaca baris data demi baris melalui fungsi fetch dan fetchall:

while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
  // 这里处理每一行数据
}

Fungsi fetch dan fetchall adalah serupa dengan mysql_fetch_array dan fungsi mysqli_fetch_array Setiap baris data boleh diperolehi.

Perlu diambil perhatian bahawa fungsi PDO mengembalikan tatasusunan yang mengandungi semua baris hasil Walaupun set hasil hanya mempunyai satu baris, ia dianggap sebagai tatasusunan panjang 1. Hanya satu baris data boleh diperoleh melalui fetchone.

Ringkasan

Tiga kaedah di atas semuanya boleh menanyakan semua data jadual, tetapi kaedah penggunaannya berbeza sedikit. mysql_query dan mysqli_query memerlukan sambungan ke pelayan MySQL dan gunakan mysql_connect atau mysqli_connect untuk menyambung ke pangkalan data. PDO boleh menggunakan pelbagai jenis pangkalan data dan menyambung ke pelayan melalui DSN.

Apabila memilih untuk menggunakan kaedah yang berbeza, anda harus memilih berdasarkan keperluan sebenar dan kebiasaan dengan kaedah yang berbeza untuk mencapai kecekapan pembangunan tertinggi dan kecekapan capaian pangkalan data.

Atas ialah kandungan terperinci Penjelasan terperinci tentang pelbagai kaedah untuk menanyakan semua data dalam jadual 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