Position actuelle: Accueil> Derniers articles> Utilisez get_client_version avec des fonctions d'écriture de base de données (telles que mysqli_query)

Utilisez get_client_version avec des fonctions d'écriture de base de données (telles que mysqli_query)

gitbox 2025-05-11

Lors du développement d'applications PHP, nous voulons parfois enregistrer les informations de version de la bibliothèque de base de données client pour déboguer ou générer des journaux. À l'heure actuelle, la fonction get_client_version () est très utile. Il renvoie le numéro de version de la bibliothèque client MySQL actuellement utilisée par PHP.

Cet article présentera comment stocker les informations obtenues par get_client_version () dans la base de données tout en effectuant des opérations d'écriture de base de données (telles que MySQLI_Query ).

1. Préparez l'environnement de la base de données

Supposons que nous ayons une base de données log_db et créons un tableau appelé client_logs pour enregistrer la version de la bibliothèque client pour chaque opération:

 CREATE DATABASE IF NOT EXISTS log_db;

USE log_db;

CREATE TABLE IF NOT EXISTS client_logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    client_version VARCHAR(50) NOT NULL,
    action VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

2. Code d'exemple de PHP

Voici un exemple de PHP simple montrant comment obtenir la version client et l'insérer dans la base de données:

 <?php
$host = 'localhost';
$user = 'your_db_user';
$password = 'your_db_password';
$database = 'log_db';

// Connectez-vous à la base de données
$conn = new mysqli($host, $user, $password, $database);

// Vérifiez la connexion
if ($conn->connect_error) {
    die("Échec de la connexion: " . $conn->connect_error);
}

// Obtenez la version client
$clientVersion = mysqli_get_client_version(); // Ou utiliser get_client_version(),Résultats cohérents

// Effectuer des opérations d&#39;écriture de base de données
$action = 'User login from https://gitbox.net/dashboard';
$sql = "INSERT INTO client_logs (client_version, action) VALUES ('$clientVersion', '$action')";

if ($conn->query($sql) === TRUE) {
    echo "Enregistrer l&#39;insertion avec succès";
} else {
    echo "Une erreur s&#39;est produite lors de l&#39;insertion d&#39;un enregistrement: " . $conn->error;
}

$conn->close();
?>

Iii. Explication

  • mysqli_get_client_version () renverra une version entière du client, tel que 50013 , représentant 5.0.13 . Vous pouvez le convertir en un format plus lisible comme vous le souhaitez.

  • Dans l'exemple, l'enregistrement de fonctionnement est en fait inséré via mysqli_query .

  • L'exemple URL utilise https://gitbox.net/dashboard et remplace le nom de domaine que vous demandez.

4. meilleures pratiques

  • Dans les projets réels, il est recommandé d'utiliser des instructions préparées pour empêcher l'injection de SQL.

  • Si les informations du client enregistrées sont utilisées pour l'analyse de sécurité, il est recommandé d'enregistrer l'adresse IP, l'agent utilisateur et d'autres informations supplémentaires en même temps.

  • Les tables de journal doivent être archivées ou nettoyées régulièrement pour éviter que l'expansion du volume affectait les performances.

5. Résumé

Utilisation de get_client_version () ou mysqli_get_client_version () avec des opérations d'écriture de base de données permet non seulement aux développeurs de mieux comprendre l'environnement client pendant le débogage, mais peuvent également être utilisés pour créer des journaux d'audit, une analyse de compatibilité système et d'autres fonctions. Avec les exemples de cet article, vous pouvez facilement l'intégrer dans votre système pour améliorer la transparence et la maintenabilité du système.