Maison >développement back-end >tutoriel php >Comment utiliser les instructions SQL en PHP

Comment utiliser les instructions SQL en PHP

王林
王林original
2023-05-20 16:51:282848parcourir

En tant que langage de programmation populaire, PHP fournit de nombreux outils et méthodes pour les opérations de base de données, dont les plus couramment utilisées sont les instructions SQL (Structured Query Language). SQL est un langage utilisé pour accéder et gérer des bases de données relationnelles (SGBDR), qui nous permet de stocker et de récupérer des données en manipulant des tables, des lignes et des colonnes. Ce qui suit explique comment utiliser les instructions SQL en PHP.

  1. Connectez-vous à la base de données

Avant d'utiliser les instructions SQL, nous devons d'abord nous connecter à la base de données. Ceci peut être réalisé en utilisant le mysqli (extension améliorée MySQL) ou le PDO (PHP Data Objects) intégré à PHP :

1.1 Méthode de connexion 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 Méthode de connexion 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();
}

    Query Data
Il existe de nombreuses instructions SQL utilisées pour interroger des données dans des tables. Voici quelques instructions SQL courantes :

    SELECT : utilisée pour sélectionner des données dans une table.
  • WHERE : utilisé pour spécifier les conditions et les enregistrements qui remplissent les conditions.
  • ORDER BY : utilisé pour trier les résultats d'une requête selon une condition spécifique.
  • GROUP BY : Généralement utilisé avec des fonctions d'agrégation (SUM, AVG, COUNT, etc.) pour calculer des données récapitulatives en regroupant les résultats de la requête.
Ce qui suit est un exemple d'interrogation de données à l'aide de mysqli et PDO :

2.1 Interrogation de données à l'aide de mysqli :

$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 Interrogation en utilisant les données PDO :

$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>";
}

    Insérer des données
Lors de l'insertion de nouvelles données dans la table, nous utilisons l'instruction INSERT INTO. Voici le format de base pour insérer de nouvelles données :

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Ce qui suit est un exemple d'insertion de données à l'aide de mysqli et PDO :

3.1 Insérer des données à l'aide de 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 Insérer des données à l'aide de PDO :

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

Mettre à jour les données

  1. Lors de la mise à jour des données, nous utilisons l'instruction UPDATE. Voici le format de base de l'instruction UPDATE :
  2. UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;
Ce qui suit est un exemple d'utilisation de mysqli et PDO pour mettre à jour les données :

4.1 Utilisation de mysqli pour mettre à jour les données : # 🎜🎜#
$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 Utilisez PDO pour mettre à jour les données :

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

Supprimer les données

Lors de la suppression des données, nous utilisons l'option DELETE déclaration. Voici le format de base de l'instruction DELETE :
    DELETE FROM table_name WHERE condition;
  1. Ce qui suit est un exemple d'utilisation de mysqli et PDO pour supprimer des données :
5.1 Utilisation de mysqli pour supprimer des données : # 🎜🎜#
$sql = "DELETE FROM users WHERE id=1";

if ($conn->query($sql) === TRUE) {
    echo "记录删除成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
#🎜🎜 #5.2 Utilisez PDO pour supprimer des données :

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

Résumé : Lorsque vous utilisez des instructions PHP et SQL, vous devez faire attention à empêcher l'injection SQL. Vous pouvez utiliser les instructions préparées par mysqli ou les PDO. instructions préparées pour éviter les attaques par injection SQL. Cependant, l'utilisation de mysqli ou de PDO pour faire fonctionner la base de données peut garantir la sécurité de la base de données. Lors de l'écriture d'applications MySQL, PDO ou mysqli doivent être utilisés autant que possible pour réduire la charge entre le programme et la base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn