Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menulis pernyataan pertanyaan dalam pangkalan data php

Bagaimana untuk menulis pernyataan pertanyaan dalam pangkalan data php

Mar 29, 2023 am 11:32 AM

Dalam proses membangunkan aplikasi web, berurusan dengan pangkalan data tidak dapat dielakkan. Sebagai bahasa pengaturcaraan tujuan umum, PHP juga mempunyai keupayaan untuk berinteraksi dengan pangkalan data Pembangun boleh menggunakannya untuk melaksanakan pelbagai jenis operasi pertanyaan pangkalan data. Walau bagaimanapun, bukan mudah bagi pemula untuk menggunakan PHP dengan betul untuk berinteraksi dengan pangkalan data. Artikel ini bertujuan untuk memperkenalkan anda kepada cara menulis pernyataan pertanyaan pangkalan data PHP dengan betul.

1. Menyambung ke pangkalan data dalam PHP

Sebelum melaksanakan pertanyaan pangkalan data dalam PHP, kita perlu mewujudkan sambungan dengan pangkalan data terlebih dahulu. Anda boleh menggunakan PDO (Objek Data PHP) PHP sendiri untuk menyambung ke pangkalan data. Menggunakan PDO untuk menyambung ke pangkalan data mempunyai faedah berikut:

  1. Merentas platform: PDO menyokong banyak pangkalan data yang berbeza, yang boleh dijalankan dalam sistem pengendalian yang berbeza.
  2. Cegah suntikan SQL: PDO memproses data yang dimasukkan pengguna secara automatik, dengan itu menghalang serangan suntikan SQL.

Mari kita ambil pangkalan data MySQL sebagai contoh untuk memperkenalkan cara menggunakan PDO untuk menyambung ke pangkalan data.

  • Buat sambungan pangkalan data

Untuk menyambung ke pangkalan data menggunakan PDO, kita perlu menyediakan maklumat seperti jenis pangkalan data, nama hos, port, nama pangkalan data, nama pengguna dan kata laluan. Berikut ialah contoh membuat sambungan:

try {
    $pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database', 'my_username', 'my_password');
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
Salin selepas log masuk

Jika sambungan berjaya, objek $pdo akan mewakili sambungan ke contoh pangkalan data MySQL, jika tidak pengecualian akan dilemparkan.

  • Laksanakan pertanyaan SQL

Selepas menyambung ke pangkalan data, kami boleh mula melaksanakan pertanyaan SQL. PDO menyediakan kaedah untuk melaksanakan pertanyaan SQL (anda juga boleh melakukan kemas kini SQL dan operasi memadam): exec(). Kaedah ini menerima pernyataan SQL sebagai parameter dan mengembalikan nilai integer yang menunjukkan bilangan baris yang terjejas atau kegagalan pelaksanaan. Sebagai contoh, kita boleh menggunakan kod berikut untuk mencipta jadual bernama "pengguna":

$sql = 'CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)';

if ($pdo->exec($sql) !== false) {
    echo "Table users created successfully";
} else {
    echo "Error creating table: " . $pdo->errorInfo()[2];
}
Salin selepas log masuk
  • Data pertanyaan

Data pertanyaan ialah interaksi antara PHP dan pangkalan data Operasi yang paling biasa digunakan. Kita boleh menggunakan PDO untuk melaksanakan penyataan SELECT untuk pertanyaan data. Berikut ialah contoh data pertanyaan:

$sql = "SELECT * FROM users WHERE id = ? OR email = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$id, $email]);

$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

if (!empty($results)) {
    foreach ($results as $row) {
        echo $row['id'] . "\t" . $row['firstname'] . "\t" . $row['lastname'] . "\t" . $row['email'] . "\n";
    }
} else {
    echo "No results found";
}
Salin selepas log masuk

Perhatikan bahawa kami menggunakan kaedah prepare() PDO untuk mempraproses pernyataan SQL dan mengikat parameter dalam pertanyaan kepada pemegang tempat. Apabila melaksanakan pernyataan pertanyaan SQL, gunakan kaedah execute() untuk menghantar parameter dan melaksanakan operasi pertanyaan. Akhir sekali, gunakan kaedah fetchAll() untuk mendapatkan hasil pertanyaan Kaedah fetchAll() mengembalikan tatasusunan, dengan setiap elemen mewakili baris data dalam hasil pertanyaan.

2. Penyataan pertanyaan SQL biasa

Menggunakan penyataan pertanyaan SQL dalam PHP untuk berinteraksi dengan pangkalan data adalah operasi biasa. Berikut adalah pernyataan pertanyaan biasa.

  • SELECT

Pernyataan SELECT digunakan untuk memilih dan mendapatkan semula data daripada satu atau lebih jadual. Sintaksnya adalah seperti berikut:

SELECT column1, column2, ... FROM table_name WHERE condition(s);
Salin selepas log masuk

Antaranya, lajur1, lajur2 ialah nama lajur yang hendak diambil, table_name ialah nama jadual sumber data yang hendak diambil, dan syarat selepas WHERE kata kunci menentukan syarat untuk menapis data. Berikut ialah contoh mudah:

SELECT * FROM users;
Salin selepas log masuk

Kod di atas akan mendapatkan semula semua data dalam jadual "pengguna".

  • KEMASKINI

Kemas kini kenyataan digunakan untuk mengemas kini data dalam jadual sedia ada. Sintaks adalah seperti berikut:

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
Salin selepas log masuk

di mana nilai1, nilai2 ialah nilai yang akan dikemas kini dan syarat menentukan keadaan baris yang akan dikemas kini. Berikut ialah contoh mudah:

UPDATE users SET firstname='John', lastname='Doe' WHERE email='john.doe@example.com';
Salin selepas log masuk

Kod di atas akan mengemas kini data yang layak dalam jadual "pengguna".

  • DELETE

DELETE statement digunakan untuk memadam data dalam jadual sedia ada. Sintaksnya adalah seperti berikut:

DELETE FROM table_name WHERE condition;
Salin selepas log masuk

Antaranya, syarat menentukan keadaan baris yang hendak dipadamkan. Berikut ialah contoh mudah:

DELETE FROM users WHERE email='john.doe@example.com';
Salin selepas log masuk

Kod di atas akan memadamkan baris yang layak daripada jadual "pengguna".

  • INSERT INTO

Pernyataan INSERT INTO digunakan untuk memasukkan data baharu ke dalam jadual sedia ada. Sintaks adalah seperti berikut:

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
Salin selepas log masuk

di mana nilai1, nilai2, nilai3 ialah nilai yang akan dimasukkan. Berikut ialah contoh mudah:

INSERT INTO users (firstname, lastname, email) VALUES ('John', 'Doe', 'john.doe@example.com');
Salin selepas log masuk

Kod di atas akan memasukkan baris baharu ke dalam jadual "pengguna".

3 Ringkasan

Dalam artikel ini, kami memperkenalkan penggunaan PDO untuk menyambung ke pangkalan data dan pernyataan pertanyaan SQL biasa, dengan harapan dapat membantu pembaca memahami dan menguasai interaksi antara PHP dan pangkalan data.

Apabila melakukan operasi pertanyaan pangkalan data, anda perlu memberi perhatian kepada perkara berikut:

  1. Cuba gunakan prapemprosesan PDO dan ikat pembolehubah untuk mengelakkan serangan suntikan SQL.
  2. Elakkan menggunakan SELECT * dan cuba tentukan secara manual nama lajur yang ingin ditanya.
  3. Dalam PHP, sebelum menggunakan fungsi semak (seperti isset() dan empty()) untuk menyemak pembolehubah, pastikan anda menyemak sama ada pembolehubah itu wujud terlebih dahulu.

Semoga maklumat ini dapat membantu anda menggunakan PHP dengan lebih baik untuk berinteraksi dengan pangkalan data dan membina aplikasi web dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk menulis pernyataan pertanyaan dalam 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.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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.

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.

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.

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.

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 API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

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