Sebagai bahasa pengaturcaraan yang popular, PHP menyediakan banyak alat dan kaedah untuk operasi pangkalan data, yang paling biasa digunakan ialah pernyataan SQL (Bahasa Pertanyaan Berstruktur). SQL ialah bahasa yang digunakan untuk mengakses dan mengurus pangkalan data hubungan (RDBMS), yang membolehkan kami menyimpan dan mendapatkan semula data dengan memanipulasi jadual, baris dan lajur. Berikut akan memperkenalkan cara menggunakan pernyataan SQL dalam PHP.
Sebelum menggunakan pernyataan SQL, kita perlu menyambung ke pangkalan data terlebih dahulu. Ini boleh dicapai dengan menggunakan mysqli terbina dalam PHP (MySQL Improved Extension) atau PDO (PHP Data Objects):
1.1 kaedah sambungan mysqli:
$servername = "localhost"; //数据库主机名 $username = "username"; //数据库用户名 $password = "password"; //数据库密码 $dbname = "myDB"; //连接的数据库 // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); }
1.2 kaedah sambungan PDO:
$servername = "localhost"; //数据库主机名 $username = "username"; //数据库用户名 $password = "password"; //数据库密码 $dbname = "myDB"; //连接的数据库 try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // 设置 PDO 错误模式为异常 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "连接成功"; } catch(PDOException $e) { echo "连接失败: " . $e->getMessage(); }
Terdapat banyak pernyataan SQL yang digunakan untuk menanyakan data dalam jadual. Berikut ialah beberapa pernyataan SQL biasa:
Berikut ialah contoh penggunaan mysqli dan PDO untuk menanyakan data:
2.1 Menggunakan mysqli untuk menanya data:
$sql = "SELECT id, name, email FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "0 结果"; }
2.2 Menggunakan PDO untuk membuat pertanyaan data:
$sql = "SELECT id, name, email FROM users"; $stmt = $conn->prepare($sql); $stmt->execute(); $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); foreach($stmt->fetchAll() as $row) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; }
Apabila memasukkan data baharu ke dalam jadual, kami menggunakan pernyataan INSERT INTO. Berikut ialah format asas untuk memasukkan data baharu:
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
Berikut ialah contoh memasukkan data menggunakan mysqli dan PDO:
3.1 Masukkan data menggunakan mysqli:
$sql = "INSERT INTO users (name, email, password) VALUES ('John Doe', 'john@example.com', '123456')"; if ($conn->query($sql) === TRUE) { echo "新记录插入成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; }
3.2 Masukkan menggunakan Data PDO:
$sql = "INSERT INTO users (name, email, password) VALUES ('John Doe', 'john@example.com', '123456')"; $conn->exec($sql); echo "新记录插入成功";
Apabila mengemas kini data, kami menggunakan pernyataan KEMASKINI. Berikut ialah format asas pernyataan UPDATE:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
Berikut adalah contoh penggunaan mysqli dan PDO untuk mengemas kini data:
4.1 Menggunakan mysqli untuk mengemas kini data:
$sql = "UPDATE users SET email='john_doe@example.com' WHERE id=1"; if ($conn->query($sql) === TRUE) { echo "记录更新成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; }
4.2 Menggunakan PDO untuk mengemas kini data :
$sql = "UPDATE users SET email='john_doe@example.com' WHERE id=1"; $conn->exec($sql); echo "记录更新成功";
Apabila memadam data, kami menggunakan pernyataan DELETE. Berikut ialah format asas pernyataan DELETE:
DELETE FROM table_name WHERE condition;
Berikut ialah contoh pemadaman data menggunakan mysqli dan PDO:
5.1 Memadam data menggunakan mysqli:
$sql = "DELETE FROM users WHERE id=1"; if ($conn->query($sql) === TRUE) { echo "记录删除成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; }
5.2 Memadam data menggunakan PDO :
$sql = "DELETE FROM users WHERE id=1"; $conn->exec($sql); echo "记录删除成功";
Ringkasan: Apabila menggunakan penyataan PHP dan SQL, anda mesti berhati-hati untuk mengelakkan suntikan SQL Anda boleh menggunakan penyataan disediakan mysqli atau penyataan PDO yang disediakan untuk mengelakkan serangan suntikan SQL. Walau bagaimanapun, menggunakan mysqli atau PDO untuk mengendalikan pangkalan data dapat memastikan keselamatan pangkalan data Semasa menulis aplikasi MySQL, PDO atau mysqli harus digunakan sebaik mungkin untuk mengurangkan beban antara program dan pangkalan data.
Atas ialah kandungan terperinci Cara menggunakan pernyataan SQL dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!