Lorsque le client demande un fichier PHP, le serveur terminera les trois étapes principales de l'analyse, de l'exécution et de la sortie à son tour.
Le serveur analyse d'abord le code PHP et convertit le script en instructions exécutables. Fichiers PHP <?php Commençant, ?> Fin.
Une fois l'analyse terminée, le serveur exécute des scripts PHP pour traiter les variables, les fonctions et la logique. Pendant l'exécution, le serveur distinguera le code dans le script des variables et fonctions de l'environnement du serveur pour s'assurer qu'il s'exécute correctement.
Une fois l'exécution du code terminée, le serveur renvoie le résultat au client, généralement dans les formats HTML, JSON, XML ou d'image.
En PHP, la connexion aux bases de données MySQL utilise généralement l'extension MySQLI, comme indiqué ci-dessous:
$username = "nom d'utilisateur";
$password = "mot de passe";
$hostname = "Nom d'hôte";
$database = "Nom de base de données";
// Créer un objet de connexion
$conn = new mysqli($hostname, $username, $password, $database);
// Vérifiez si la connexion réussit
if ($conn->connect_error) {
die("Échec de la connexion: " . $conn->connect_error);
}
echo "Connexion avec succès";
Le code ci-dessus établit une connexion en transmettant le nom d'hôte, le nom d'utilisateur, le mot de passe et le nom de la base de données. Une fois la connexion réussie, les instructions SQL peuvent être exécutées via $ Conn .
Voici le code pour effectuer des requêtes simples à l'aide de l'objet mysqli:
$sql = "SELECT * FROM Nom de table";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Sortir chaque enregistrement
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"] . " - Name: " . $row["name"] . "<br>";
}
} else {
echo "Aucun résultat de requête";
}
$conn->close();
Après avoir exécuté la requête, le code traverse les résultats, produit des données un par un et ferme finalement la connexion de la base de données.
L'injection SQL est une menace courante pour la sécurité de la base de données. Les mesures de protection efficaces comprennent:
Ce qui suit montre un exemple de code utilisant l'anti-injection APD:
$sql = "SELECT * FROM Nom de table WHERE name = :name";
$stmt = $conn->prepare($sql);
$stmt->bindValue(':name', $name);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
var_dump($result);
$conn->close();
Les paramètres de liaison SQL et BindValue précompilés par la méthode de préparation peuvent éviter efficacement l'injection de SQL malveillante et assurer la sécurité des données.