Dans PHP, lors de l'utilisation de l'extension MySQLI pour faire fonctionner les bases de données, les instructions préparées sont un moyen important d'améliorer la sécurité et les performances. La fonction MySQLI_STMT :: ATTR_GET est utilisée pour obtenir la valeur d'attribut d'un objet d'instruction de prétraitement, aidant les développeurs à comprendre et à déboguer l'état de l'instruction de prétraitement actuelle.
Cet article introduira en détail comment utiliser la fonction mysqli_stmt :: att_get pour obtenir et afficher les propriétés des instructions prétraitées, et expliquer l'application réelle en conjonction avec l'exemple de code.
mysqli_stmt :: att_get est une méthode de l'objet d'instruction de prétraitement mysqli qui renvoie la valeur actuelle de l'attribut spécifié. Son objectif commun est de vérifier les informations d'attribut pertinentes de l'instruction avant ou après l'exécution de l'instruction.
Prototype de méthode:
public mysqli_stmt::attr_get(int $attr) : mixed
Description du paramètre:
$ att : une constante entière qui spécifie l'attribut que vous souhaitez obtenir. Les propriétés courantes comprennent:
Mysqli_stmt_attr_update_max_length : s'il faut activer la fonction de mise à jour de la longueur maximale.
D'autres propriétés varient selon la version MySQL et la prise en charge d'extension.
Valeur de retour:
Renvoie la valeur de l'attribut spécifié, le type dépend de l'attribut.
Créer une connexion de base de données
Initialiser les déclarations de prétraitement
Appelez la méthode ATTR_GET pour obtenir la valeur d'attribut
Valeurs d'attribut de sortie pour la visualisation
Voici un exemple simple qui montre comment utiliser mysqli_stmt :: att_get pour obtenir et afficher les propriétés d'une instruction prétraitée.
<?php
// Connectez-vous à la base de données
$mysqli = new mysqli("m66.net", "username", "password", "database");
// Vérifiez si la connexion réussit
if ($mysqli->connect_errno) {
die("Échec de la connexion: " . $mysqli->connect_error);
}
// Préparer les déclarations de prétraitement
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
if (!$stmt) {
die("Échec de la déclaration: " . $mysqli->error);
}
// Obtenir des attributs MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH Valeur
$attr_value = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
echo "MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH La valeur d'attribut est: ";
echo ($attr_value) ? "Activer" : "未Activer";
// Clôtures et connexions étroites
$stmt->close();
$mysqli->close();
?>
Dans l'exemple, MySQLI_STMT_ATTR_UPDATE_MAX_LENGTH signifie si la fonction "Mise à jour maximale" est activée.
Lorsque cette propriété est définie sur true , la longueur maximale du champ sera automatiquement mise à jour lors de l'exécution.
L'utilisation d'attR_get peut vous aider à confirmer que l'attribut est activé.
Dans le développement réel, vous pouvez également définir cette propriété à l'aide de la méthode ATTR_SET .
MySQLI_STMT :: ATTR_GET est une fonction pratique qui vous permet de vérifier facilement diverses propriétés des instructions de prétraitement MySQLI pour aider à déboguer et à optimiser le code. En utilisant rationnellement cette méthode, vous pouvez mieux contrôler le comportement lors de l'exécution de SQL et améliorer la robustesse et la flexibilité du programme.