Fokus pada pernyataan pertanyaan pangkalan data PHP
PHP, sebagai bahasa skrip sebelah pelayan yang popular, boleh menyatukan pelbagai jenis data dan pangkalan data. Terutamanya dalam pembangunan aplikasi web, selalunya diperlukan untuk mengakses pangkalan data untuk mendapatkan dan memanipulasi data. Artikel ini akan menumpukan pada pernyataan pertanyaan pangkalan data PHP.
1. Apakah itu pernyataan pertanyaan pangkalan data
Dalam proses mengendalikan pangkalan data, kita selalunya perlu mendapatkan data daripada pangkalan data. Pada masa ini, kita perlu menggunakan pernyataan pertanyaan. Pertanyaan pangkalan data (SQL Query) ialah satu set arahan untuk mendapatkan semula data daripada pangkalan data. SQL ialah singkatan dari Structured Query Language, iaitu bahasa yang digunakan secara meluas dalam sistem pengurusan data hubungan (RDBMS) untuk mengakses dan mengendalikan pangkalan data.
Dalam PHP, kita boleh menggunakan kemudahan yang berbeza untuk mengakses pelbagai jenis pangkalan data. PHP menyokong MySQL, PostgreSQL, Oracle dan pangkalan data lain Setiap pangkalan data mempunyai pernyataan pertanyaan yang sedikit berbeza, tetapi ia pada dasarnya dilaksanakan menggunakan bahasa SQL.
2. Struktur pernyataan pertanyaan
Pernyataan pertanyaan mudah biasanya mengandungi tiga bahagian: SELECT, FROM dan WHERE. Dalam SELECT, tentukan lajur untuk diambil dalam FROM, nyatakan nama jadual dalam klausa WHERE, nyatakan syarat carian.
Berikut ialah struktur pernyataan pertanyaan asas:
PILIH lajur1, lajur2, ...
DARI jadual
Keadaan DI MANA;
lajur menunjukkan perkara yang diperlukan untuk diambil semula Nama lajur, pisahkan berbilang nama lajur dengan koma. Biasanya * (asterisk) digunakan dan bukannya nama lajur untuk menunjukkan pemilihan semua lajur.
jadual menunjukkan nama jadual yang akan dikendalikan.
syarat ialah pilihan pilihan, yang menentukan syarat dan sekatan untuk mendapatkan semula rekod, menggunakan operator logik (seperti DAN, ATAU, dll.) untuk menyambung.
Sebagai contoh, contoh berikut mendapatkan semula rekod dalam jadual "pengguna" di mana nama pengguna dan medan e-mel ialah "admin" dan medan kata laluan ialah "123":
PILIH nama pengguna, e-mel, kata laluan
DARI pengguna
WHERE nama pengguna = 'admin' DAN kata laluan = '123';
Walau bagaimanapun, untuk beberapa keperluan pertanyaan yang lebih kompleks, hanya menggunakan SELECT, FROM dan WHERE mungkin tidak dapat memenuhi keperluan Dalam kes ini, anda perlu Gunakan pernyataan pertanyaan lanjutan seperti JOIN pernyataan dan subquery. Ini akan dibincangkan dalam bab-bab seterusnya.
3. Memproses hasil pertanyaan
Hasil yang dikembalikan oleh pernyataan pertanyaan biasanya merupakan jadual yang mengandungi berbilang baris, setiap baris mewakili rekod yang sepadan. Untuk pembangun aplikasi PHP, entri jadual ialah tatasusunan, dan kandungan setiap sel ialah elemen dalam tatasusunan. Pemprosesan keputusan pertanyaan merangkumi tiga bahagian:
- Laksanakan pertanyaan pangkalan data dan dapatkan set hasil.
Gunakan mysqli_query dan PDO::query dalam PHP untuk melaksanakan pernyataan pertanyaan dan mengembalikan set hasil. Contohnya:
$query = "PILIH nama pengguna, e-mel, kata laluan DARI pengguna WHERE nama pengguna = 'admin' DAN kata laluan = '123'";
$result = mysqli_query($connection, $query);
- Proses set hasil.
Gunakan mysqli_fetch_assoc, PDO::fetch dan fungsi lain untuk mengekstrak data daripada set hasil. Contohnya:
while ($row = mysqli_fetch_assoc($result)) {
echo "username: " . $row["username"] . " email: " . $row["email"] . " password: " . $row["password"];
}
- Lepaskan set keputusan.
Dalam PHP, apabila anda selesai menggunakan set hasil, anda harus menggunakan mysqli_free_result atau fungsi PDOStatement::closeCursor untuk mengeluarkan set hasil untuk mengelakkan pembaziran sumber. Contohnya:
mysqli_free_result($result);
4 Teknologi pertanyaan lanjutan
- SERTAI
Pernyataan JOIN boleh menggabungkan dua. Atau berbilang jadual dicantumkan untuk menghasilkan jadual baru yang besar. Pernyataan JOIN biasa termasuk cantuman dalam, cantuman luar (cantuman kiri dan cantuman kanan), cantuman sendiri, dsb.
INNER JOIN: Hanya rekod yang memenuhi syarat dalam dua jadual dikembalikan iaitu apabila menyambung dua jadual, hanya nilai yang sama yang wujud dalam kedua-dua jadual akan diambil.
Contohnya:
PILIH pesanan.OrderID, pelanggan.Nama Pelanggan, pesanan.TarikhPesan
DARI pesanan
INNER JOIN pelanggan
PADA pesanan.CustomerID=customerID;.CustomerID
Pertanyaan ini akan mengembalikan semua pesanan dalam jadual pesanan (pesanan) yang dikaitkan dengan jadual pelanggan (pelanggan) Simbol untuk gabungan dalaman ialah JOIN atau INNER JOIN, dan kata kunci ON menentukan kunci utama /kunci luar yang digunakan untuk pautan.
- Subquery
Subquery merujuk kepada membenamkan pertanyaan SQL dalam pernyataan SQL yang lain. Biasanya, subkueri digunakan untuk mengehadkan set hasil pertanyaan utama. Subkueri boleh bersarang dalam berbilang pertanyaan, yang dipanggil pertanyaan bersarang.
Contohnya:
PILIH AVG(Harga DISTINCT) DARIPADA Produk
WHERE ProductName IN (SELECT ProductName FROM Orders WHERE CustomerID=1);
Pertanyaan ini akan kembali ID Harga purata semua produk yang dipesan oleh pelanggan 1 sebenarnya untuk menggunakan senarai subkueri untuk menanyakan semua produk yang dibeli oleh pelanggan 1, dan kemudian meletakkan fungsi AVG di luar untuk mengira purata.
- UNION
Pernyataan UNION menggabungkan set hasil dua atau lebih pernyataan SELECT (hasilnya mesti mempunyai medan yang sama, jadi kadangkala alias digunakan untuk mengisytiharkannya) , alih keluar baris pendua daripada set hasil. Format pernyataan UNION adalah seperti berikut:
PILIH nama_lajur DARI jadual1
UNION
PILIH nama_lajur DARI jadual2;
Contohnya:
SELECT ProductName FROM Products
UNION
SELECT ProductName FROM Suppliers
ORDER BY ProductName;
Pertanyaan ini akan mengembalikan semua nama produk, termasuk daripada Pembekal dan Produk ) hasil pertanyaan, alih keluar pendua dan susun mengikut nama.
Ringkasan
Artikel ini bertujuan untuk memperkenalkan pernyataan pertanyaan pangkalan data PHP, memfokuskan pada struktur pernyataan pertanyaan dan kaedah pemprosesan hasil pertanyaan, serta teknologi pertanyaan lanjutan yang biasa digunakan, termasuk JOIN, subquery dan kenyataan UNION. Penggunaan yang betul bagi teknologi pertanyaan lanjutan ini boleh mendapatkan data yang diperlukan daripada pangkalan data dengan lebih cekap.
Atas ialah kandungan terperinci Fokus pada pernyataan pertanyaan pangkalan data PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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.

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.

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.

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.

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

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

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