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.
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";
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 )
$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); }
// 关闭自动提交事务 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";
// 关闭数据库连接 mysqli_close($mysqli); echo "Connection closed";
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!