Rumah pembangunan bahagian belakang masalah PHP Fokus pada pernyataan pertanyaan pangkalan data PHP

Fokus pada pernyataan pertanyaan pangkalan data PHP

Apr 06, 2023 am 08:52 AM

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:

  1. 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);

  1. 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"];
Salin selepas log masuk

}

  1. 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

  1. 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.

  1. 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.

  1. 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!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

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.

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

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.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

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.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

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.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

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.

Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()? Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()? Mar 20, 2025 pm 04:55 PM

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

Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Mar 20, 2025 pm 04:57 PM

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

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

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

See all articles