Comment utiliser les instructions SQL en PHP

王林
Libérer: 2023-05-20 16:54:01
original
2775 Les gens l'ont consulté

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);
} 
Copier après la connexion

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();
}
Copier après la connexion

    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 结果";
}
Copier après la connexion

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>";
}
Copier après la connexion

    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, ...);
Copier après la connexion

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;
}
Copier après la connexion
#🎜 🎜#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 "新记录插入成功";
Copier après la connexion

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;
    Copier après la connexion
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;
}
Copier après la connexion
#🎜🎜 #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 "记录更新成功";
Copier après la connexion

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;
    Copier après la connexion
  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;
}
Copier après la connexion
#🎜🎜 #5.2 Utilisez PDO pour supprimer des données :

$sql = "DELETE FROM users WHERE id=1";
$conn->exec($sql);
echo "记录删除成功";
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal