Rumah >pembangunan bahagian belakang >masalah PHP >Penggunaan biasa pernyataan pertanyaan sql asli php

Penggunaan biasa pernyataan pertanyaan sql asli php

PHPz
PHPzasal
2023-04-11 10:32:381251semak imbas

Dalam pengaturcaraan PHP, pernyataan pertanyaan SQL ialah alat penting yang sering digunakan oleh pembangun. PHP menyediakan pelbagai cara untuk menulis pertanyaan SQL, salah satunya adalah menggunakan pertanyaan SQL asli.

Pernyataan pertanyaan SQL asli merujuk kepada menulis pernyataan SQL secara langsung dalam kod PHP dan kemudian menghantarnya ke pangkalan data untuk dilaksanakan. Berbanding dengan menggunakan rangka kerja atau perpustakaan ORM, pernyataan pertanyaan SQL asli adalah lebih ringkas, lebih jelas dan lebih mudah untuk difahami serta nyahpepijat.

Artikel ini akan memperkenalkan anda kepada penggunaan biasa dan langkah berjaga-jaga bagi pernyataan pertanyaan SQL asli PHP.

1 Sambung ke pangkalan data

Sebelum melaksanakan pernyataan pertanyaan SQL, anda perlu menyambung ke pangkalan data terlebih dahulu. PHP menyediakan pelbagai cara untuk menyambung ke pangkalan data MySQL, seperti:

//连接 MySQL 数据库
$link = mysqli_connect("localhost", "root", "password", "test");
if (!$link) {
    die("连接失败: " . mysqli_connect_error());
}

Antaranya, fungsi mysqli_connect akan mengembalikan objek sambungan $link, dan jika sambungan gagal, false akan dikembalikan. Jika sambungan berjaya, anda boleh melaksanakan pernyataan pertanyaan SQL melalui objek $link.

2. Tanya data jadual

  1. Soal semua data dalam jadual

Gunakan pernyataan SQL SELECT * FROM table_name untuk menanyakan semua data dalam jadual table_name . Dalam PHP, anda boleh menggunakan fungsi mysqli_query untuk melaksanakan operasi pertanyaan, seperti:

//查询表中所有数据
$result = mysqli_query($link, "SELECT * FROM table_name");
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} else {
    echo "0 条结果";
}

Antaranya, fungsi mysqli_query mengembalikan set hasil pertanyaan dan fungsi mysqli_num_rows digunakan untuk mendapatkan baris dalam set hasil pertanyaan Nombor, fungsi mysqli_fetch_assoc digunakan untuk mengembalikan sekeping data dalam set hasil pertanyaan dan menukarnya menjadi tatasusunan bersekutu.

  1. Soal bahagian data dalam jadual

Gunakan pernyataan SQL SELECT column1, column2 FROM table_name untuk menanyakan data lajur yang ditentukan dalam jadual table_name. Contohnya:

//查询表中指定列的数据
$result = mysqli_query($link, "SELECT name, age FROM table_name");
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
    }
} else {
    echo "0 条结果";
}
  1. Data pertanyaan mengikut syarat

Gunakan pernyataan SQL SELECT * FROM table_name WHERE conditions untuk bertanya data dalam jadual table_name mengikut syarat yang ditetapkan. Contohnya:

//按照指定条件查询表中的数据
$result = mysqli_query($link, "SELECT * FROM table_name WHERE age > 18");
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
    }
} else {
    echo "0 条结果";
}

Antaranya, klausa WHERE digunakan untuk menentukan syarat pertanyaan Contohnya, age > 18 bermaksud data pertanyaan yang umurnya melebihi 18 tahun.

3. Masukkan dan kemas kini data

  1. Sisipkan data

Gunakan pernyataan SQL INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...) untuk memasukkan data ke dalam jadual table_name. Contohnya:

//插入数据到表中
$sql = "INSERT INTO table_name (name, age) VALUES ('张三', 20)";
if (mysqli_query($link, $sql)) {
    echo "执行成功";
} else {
    echo "执行失败:" . mysqli_error($link);
}

Antaranya, lajur dan nilai data yang disisipkan hendaklah sepadan satu-dengan-satu Lajur hanya boleh dimasukkan ke dalam lajur yang ditentukan dan lajur yang tidak disisipkan akan menggunakan nilai lalainya.

  1. Kemas kini data

Gunakan pernyataan SQL UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE conditions untuk mengemas kini data dalam jadual table_name. Contohnya:

//更新表中的数据
$sql = "UPDATE table_name SET name = '李四' WHERE id = 1";
if (mysqli_query($link, $sql)) {
    echo "执行成功";
} else {
    echo "执行失败:" . mysqli_error($link);
}

Antaranya, klausa SET digunakan untuk menentukan lajur dan nilai yang akan dikemas kini, dan klausa WHERE digunakan untuk menentukan syarat data untuk dikemas kini.

4. Padam data

Gunakan pernyataan SQL DELETE FROM table_name WHERE conditions untuk memadam data dalam jadual table_name. Contohnya:

//删除表中的数据
$sql = "DELETE FROM table_name WHERE age < 18";
if (mysqli_query($link, $sql)) {
    echo "执行成功";
} else {
    echo "执行失败:" . mysqli_error($link);
}

Antaranya, klausa WHERE digunakan untuk menentukan syarat untuk data dipadamkan.

5. Ringkasan

Artikel ini memperkenalkan anda kepada penggunaan biasa dan langkah berjaga-jaga bagi pernyataan pertanyaan SQL asli. Dalam pengaturcaraan, memilih kaedah pertanyaan yang sesuai mengikut keperluan boleh membantu pembangun menyelesaikan pembangunan projek dengan lebih cepat dan cekap. Pada masa yang sama, untuk projek yang melibatkan operasi pangkalan data, perhatian khusus perlu diberikan kepada isu keselamatan, seperti suntikan SQL, dsb., untuk memastikan keselamatan data projek dan privasi pengguna.

Atas ialah kandungan terperinci Penggunaan biasa pernyataan pertanyaan sql asli php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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