Maison  >  Article  >  développement back-end  >  Conseils sur l'utilisation des fonctions d'exploitation de la base de données PHP

Conseils sur l'utilisation des fonctions d'exploitation de la base de données PHP

WBOY
WBOYoriginal
2023-06-16 10:52:531010parcourir

PHP est un langage de script côté serveur populaire qui peut être utilisé pour créer différents types d'applications Web, notamment des sites Web dynamiques, des applications Web et des sites de commerce électronique. La base de données est au cœur de toute application Web ambitieuse, utilisée pour stocker et gérer les données requises par l'application.

PHP possède de nombreuses fonctions et extensions pour interagir avec les bases de données. Dans cet article, nous présenterons quelques conseils sur l'utilisation des fonctions d'exploitation de la base de données PHP pour vous aider à mieux utiliser ces fonctions pour interagir avec la base de données.

  1. Se connecter à la base de données

La fonction la plus couramment utilisée pour se connecter à la base de données en utilisant PHP est mysqli_connect(). Le prototype de cette fonction est :

mysqli mysqli_connect ( string $host , string $username , string $passwd , string $dbname [, int $port = 3306 [, string $socket = '' ]] )

où $host représente le nom d'hôte ou l'adresse IP de la base de données, $username et $passwd sont le nom d'utilisateur et le mot de passe de la base de données, $dbname est le nom de la base de données. à connecter, et $port est le numéro de port, $socket est le fichier socket.

Exemple de connexion à la base de données :

// 连接数据库
$mysqli = mysqli_connect("localhost", "root", "password", "mydatabase");

// 检查连接是否成功
if (!$mysqli) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
  1. Exécuter l'instruction SQL

Une fois connecté avec succès à la base de données, vous pouvez exécuter diverses instructions SQL. Il existe deux manières fondamentales d'exécuter des instructions SQL à l'aide de PHP : mysqli_query() et mysqli_prepare().

2.1 Le prototype de la fonction mysqli_query()

mysqli_query() est le suivant :

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Parmi eux, $link représente l'objet mysqli connecté au base de données, $query est l'instruction SQL à exécuter et $resultmode spécifie le type de jeu de résultats.

Exemples d'exécution d'instructions de requête SQL :

$sql = "SELECT id, name FROM users";
$result = mysqli_query($mysqli, $sql);

if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} else {
    echo "0 results";
}

Exemples d'exécution d'instructions SQL d'insertion, de mise à jour et de suppression :

// 插入数据
$sql = "INSERT INTO users (name, age) VALUES ('John', 25)";
if (mysqli_query($mysqli, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($mysqli);
}

// 更新数据
$sql = "UPDATE users SET age=30 WHERE name='John'";
if (mysqli_query($mysqli, $sql)) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . mysqli_error($mysqli);
}

// 删除数据
$sql = "DELETE FROM users WHERE id=3";
if (mysqli_query($mysqli, $sql)) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . mysqli_error($mysqli);
}

2.2 mysqli_prepare()#🎜 La fonction 🎜#

mysqli_prepare() est utilisée pour préparer les instructions de requête SQL, mais ne l'exécute pas directement. Cela peut aider à prévenir les attaques par injection SQL. Vous devez lier les paramètres via la fonction mysqli_stmt_bind_param() et exécuter la requête à l'aide de la fonction mysqli_stmt_execute().

mysqli_prepare() Le prototype de la fonction est le suivant :

mysqli_stmt mysqli_prepare ( mysqli $link , string $query )

Parmi eux, $link représente l'objet mysqli connecté à la base de données, et $query est l'instruction de requête SQL à exécuté.

Exemple d'exécution d'une instruction de requête SQL :

$sql = "SELECT id, name, age FROM users WHERE age > ?";
$stmt = mysqli_prepare($mysqli, $sql);

if ($stmt) {
    mysqli_stmt_bind_param($stmt, "i", $age);
    $age = 20;
    mysqli_stmt_execute($stmt);
    mysqli_stmt_bind_result($stmt, $id, $name, $age);

    while (mysqli_stmt_fetch($stmt)) {
        echo "id: " . $id . ", name: " . $name . ", age: " . $age;
    }

    mysqli_stmt_close($stmt);
} else {
    echo "Error in preparing statement: " . mysqli_error($mysqli);
}

    Transaction de base de données
Lors du traitement des opérations de base de données, vous devrez peut-être pour exécuter plusieurs instructions SQL en une seule transaction. A cette époque, les transactions de la base de données seront très utiles.

L'utilisation de PHP pour effectuer des transactions de base de données nécessite l'utilisation des fonctions suivantes :

    mysqli_autocommit() : Définissez s'il faut valider automatiquement les transactions.
  • mysqli_commit() : Validez la transaction.
  • mysqli_rollback() : Annulez la transaction.
Exemple :

// 关闭自动提交事务
mysqli_autocommit($mysqli, FALSE);

// 执行多个SQL语句
mysqli_query($mysqli, "INSERT INTO users (name, age) VALUES ('John', 25)");
mysqli_query($mysqli, "UPDATE users SET age=30 WHERE name='John'");

// 如果所有SQL语句都成功执行,则提交事务
mysqli_commit($mysqli);
echo "Transaction committed successfully";

// 如果任何一个SQL语句执行失败,则回滚事务
mysqli_rollback($mysqli);
echo "Transaction rolled back because of failure";

    Fermez la connexion à la base de données
Après avoir terminé l'opération de base de données, soyez assurez-vous de fermer la connexion à la base de données pour libérer les ressources.

Utilisez la fonction mysqli_close() pour fermer la connexion à la base de données.

// 关闭数据库连接
mysqli_close($mysqli);
echo "Connection closed";

Summary

Cet article présente les techniques de connexion à la base de données, d'exécution d'instructions SQL, de transactions et de fermeture des connexions à la base de données en PHP. PHP fournit une variété de fonctions et d'extensions pour interagir avec les bases de données. La maîtrise de l'utilisation de ces fonctions peut grandement simplifier le travail d'écriture d'applications Web. Dans le même temps, veillez à suivre les meilleures pratiques de sécurité dans les opérations de base de données afin de réduire le risque d'injection SQL et d'autres vulnérabilités de sécurité.

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