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:
Mari kita ambil pangkalan data MySQL sebagai contoh untuk memperkenalkan cara menggunakan PDO untuk menyambung ke 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(); }
Jika sambungan berjaya, objek $pdo akan mewakili sambungan ke contoh pangkalan data MySQL, jika tidak pengecualian akan dilemparkan.
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]; }
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"; }
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.
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);
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;
Kod di atas akan mendapatkan semula semua data dalam jadual "pengguna".
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;
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';
Kod di atas akan mengemas kini data yang layak dalam jadual "pengguna".
DELETE statement digunakan untuk memadam data dalam jadual sedia ada. Sintaksnya adalah seperti berikut:
DELETE FROM table_name WHERE condition;
Antaranya, syarat menentukan keadaan baris yang hendak dipadamkan. Berikut ialah contoh mudah:
DELETE FROM users WHERE email='john.doe@example.com';
Kod di atas akan memadamkan baris yang layak daripada jadual "pengguna".
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, ...);
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');
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:
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!