Cara menggunakan pernyataan SQL dalam PHP

王林
Lepaskan: 2023-05-20 16:54:01
asal
2771 orang telah melayarinya

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.

  1. Sambung ke pangkalan data

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);
} 
Salin selepas log masuk

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();
}
Salin selepas log masuk
  1. Mencari Data

Terdapat banyak pernyataan SQL yang digunakan untuk menanyakan data dalam jadual. Berikut ialah beberapa pernyataan SQL biasa:

  • SELECT: digunakan untuk memilih data daripada jadual.
  • WHERE: digunakan untuk menentukan syarat dan rekod yang memenuhi syarat.
  • PESANAN OLEH: digunakan untuk mengisih hasil pertanyaan mengikut keadaan tertentu.
  • KUMPULAN MENGIKUT: Biasanya digunakan dengan fungsi agregat (SUM, AVG, COUNT, dll.) untuk mengira data ringkasan dengan mengumpulkan hasil pertanyaan.

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 结果";
}
Salin selepas log masuk

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

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, ...);
Salin selepas log masuk

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;
}
Salin selepas log masuk

3.2 Masukkan menggunakan Data PDO:

$sql = "INSERT INTO users (name, email, password)
VALUES ('John Doe', 'john@example.com', '123456')";
$conn->exec($sql);
echo "新记录插入成功";
Salin selepas log masuk
  1. Kemas kini data

Apabila mengemas kini data, kami menggunakan pernyataan KEMASKINI. Berikut ialah format asas pernyataan UPDATE:

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

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;
}
Salin selepas log masuk

4.2 Menggunakan PDO untuk mengemas kini data :

$sql = "UPDATE users SET email='john_doe@example.com' WHERE id=1";
$conn->exec($sql);
echo "记录更新成功";
Salin selepas log masuk
  1. Padam data

Apabila memadam data, kami menggunakan pernyataan DELETE. Berikut ialah format asas pernyataan DELETE:

DELETE FROM table_name WHERE condition;
Salin selepas log masuk

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;
}
Salin selepas log masuk

5.2 Memadam data menggunakan PDO :

$sql = "DELETE FROM users WHERE id=1";
$conn->exec($sql);
echo "记录删除成功";
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!