Dans la programmation PHP, les instructions de requête SQL sont des outils importants souvent utilisés par les développeurs. PHP propose plusieurs façons d'écrire des requêtes SQL, dont l'une consiste à utiliser des requêtes SQL natives.
Les instructions de requête SQL natives font référence à l'écriture d'instructions SQL directement dans le code PHP, puis à leur transmission à la base de données pour exécution. Par rapport à l'utilisation de frameworks ou de bibliothèques ORM, les instructions de requête SQL natives sont plus simples, plus claires et plus faciles à comprendre et à déboguer.
Cet article vous présentera l'utilisation courante et les précautions des instructions de requête SQL natives PHP.
1. Connectez-vous à la base de données
Avant d'exécuter l'instruction de requête SQL, vous devez d'abord vous connecter à la base de données. PHP propose diverses façons de se connecter à la base de données MySQL, telles que :
//连接 MySQL 数据库 $link = mysqli_connect("localhost", "root", "password", "test"); if (!$link) { die("连接失败: " . mysqli_connect_error()); }
Parmi elles, la fonction mysqli_connect
renverra un objet de connexion $link
si la connexion est établie. échoue, false
. Si la connexion réussit, vous pouvez exécuter des instructions de requête SQL via l'objet $link
. mysqli_connect
函数将返回一个连接对象 $link
,如果连接失败,会返回 false
。如果连接成功,就可以通过 $link
对象来执行 SQL 查询语句。
二、查询表数据
使用 SQL 语句 SELECT * FROM table_name
可以查询表 table_name
中的所有数据。在 PHP 中,可以使用 mysqli_query
函数来执行查询操作,例如:
//查询表中所有数据 $result = mysqli_query($link, "SELECT * FROM table_name"); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>"; } } else { echo "0 条结果"; }
其中,mysqli_query
函数返回查询的结果集,mysqli_num_rows
函数用于获取查询结果集中的行数,mysqli_fetch_assoc
函数用于返回查询结果集中的一条数据,并将其转换为关联数组。
使用 SQL 语句 SELECT column1, column2 FROM table_name
可以查询表 table_name
中指定列的数据。例如:
//查询表中指定列的数据 $result = mysqli_query($link, "SELECT name, age FROM table_name"); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>"; } } else { echo "0 条结果"; }
使用 SQL 语句 SELECT * FROM table_name WHERE conditions
可以按照指定条件查询表 table_name
中的数据。例如:
//按照指定条件查询表中的数据 $result = mysqli_query($link, "SELECT * FROM table_name WHERE age > 18"); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>"; } } else { echo "0 条结果"; }
其中,WHERE
子句用于指定查询的条件,例如 age > 18
表示查询年龄大于 18 岁的数据。
三、插入和更新数据
使用 SQL 语句 INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
可以插入数据到表 table_name
中。例如:
//插入数据到表中 $sql = "INSERT INTO table_name (name, age) VALUES ('张三', 20)"; if (mysqli_query($link, $sql)) { echo "执行成功"; } else { echo "执行失败:" . mysqli_error($link); }
其中,插入数据的列和值应该一一对应,列可以只插入指定列,未插入列将使用其默认值。
使用 SQL 语句 UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE conditions
可以更新表 table_name
中的数据。例如:
//更新表中的数据 $sql = "UPDATE table_name SET name = '李四' WHERE id = 1"; if (mysqli_query($link, $sql)) { echo "执行成功"; } else { echo "执行失败:" . mysqli_error($link); }
其中,SET
子句用于指定要更新的列和值,WHERE
子句用于指定需更新的数据的条件。
四、删除数据
使用 SQL 语句 DELETE FROM table_name WHERE conditions
可以删除表 table_name
中的数据。例如:
//删除表中的数据 $sql = "DELETE FROM table_name WHERE age < 18"; if (mysqli_query($link, $sql)) { echo "执行成功"; } else { echo "执行失败:" . mysqli_error($link); }
其中,WHERE
SELECT * FROM table_name
pour interroger la table table_name< /code> Toutes les données. En PHP, vous pouvez utiliser la fonction <code>mysqli_query
pour effectuer des opérations de requête, telles que : rrreee
Parmi elles, la fonctionmysqli_query
renvoie l'ensemble de résultats de la requête, mysqli_num_rows
La fonction est utilisée pour obtenir le nombre de lignes dans l'ensemble de résultats de la requête. La fonction mysqli_fetch_assoc
est utilisée pour renvoyer une donnée dans l'ensemble de résultats de la requête et la convertir en un. tableau associatif. 🎜SELECT column1, column2 FROM table_name
pour interroger la table table_name< /code> Les données de la colonne spécifiée. Par exemple : 🎜rrreee<ol start="3"><li>Interroger des données selon des conditions</li></ol>🎜Utilisez l'instruction SQL <code>SELECT * FROM table_name WHERE conditions
pour interroger les table selon les conditions spécifiées Données dans table_name
. Par exemple : 🎜rrreee🎜 Parmi elles, la clause WHERE
est utilisée pour spécifier les conditions de la requête. Par exemple, age > plus de 18 ans. 🎜🎜3. Insérer et mettre à jour des données🎜<ol><li>Insérer des données</li></ol>🎜Utiliser l'instruction SQL <code>INSERT INTO nom_table (colonne1, colonne2, ...) VALUES (valeur1, valeur2, ...)
peut insérer des données dans la table table_name
. Par exemple : 🎜rrreee🎜 Parmi elles, les colonnes et les valeurs des données insérées doivent correspondre une à une. Les colonnes ne peuvent être insérées que dans les colonnes spécifiées, et les colonnes non insérées utiliseront leurs valeurs par défaut. 🎜UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE conditions
OK Mettre à jour les données dans la table table_name
. Par exemple : 🎜rrreee🎜où la clause SET
est utilisée pour spécifier les colonnes et les valeurs à mettre à jour, et la clause WHERE
est utilisée pour spécifier les conditions de la données à mettre à jour. 🎜🎜4. Supprimer les données🎜🎜Utilisez l'instruction SQL DELETE FROM table_name WHERE conditions
pour supprimer les données de la table table_name
. Par exemple : 🎜rrreee🎜Parmi elles, la clause WHERE
est utilisée pour préciser les conditions de suppression des données. 🎜🎜5. Résumé🎜🎜Cet article vous présente l'utilisation courante et les précautions des instructions de requête SQL natives PHP. En programmation, choisir la méthode de requête appropriée en fonction des besoins peut aider les développeurs à terminer le développement de projets plus rapidement et plus efficacement. Dans le même temps, pour les projets impliquant des opérations de base de données, une attention particulière doit être accordée aux problèmes de sécurité, tels que l'injection SQL, etc., afin de garantir la sécurité des données du projet et la confidentialité des utilisateurs. 🎜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!