Dans PHP, la fonction MySQLI :: STMT_INIT est généralement utilisée pour initialiser une instruction SQL lors de l'utilisation de l'extension MySQLI pour les opérations de base de données. Lorsqu'elles sont utilisées conjointement avec d'autres fonctions MySQLI, les requêtes peuvent être exécutées efficacement et les données extraites. Aujourd'hui, nous discuterons de la façon d'extraire les données de résultat de la requête en combinaison avec la méthode bind_result après avoir utilisé MySQLI :: STMT_INIT .
Tout d'abord, nous devons créer un objet MySQLI et utiliser la méthode STMT_INIT pour initialiser une instruction préparée. Il s'agit généralement de la première étape de l'interrogation de la base de données. Les exemples sont les suivants:
<?php
// Connectez-vous à la base de données
$mysqli = new mysqli("localhost", "username", "password", "database_name");
// Vérifiez si la connexion réussit
if ($mysqli->connect_error) {
die("Échec de la connexion: " . $mysqli->connect_error);
}
// utiliser stmt_init Instruction d'initialisation
$stmt = $mysqli->stmt_init();
// Vérifiez si l'initialisation est réussie
if (!$stmt) {
die("无法Instruction d'initialisation: " . $mysqli->error);
}
?>
Ensuite, nous utilisons la méthode de préparation pour préparer la requête SQL. Supposons que nous voulons interroger les informations utilisateur de la base de données et interroger SQL comme suit:
<?php
$sql = "SELECT id, name, email FROM users WHERE status = ?";
$stmt->prepare($sql);
?>
Si la requête SQL nécessite des paramètres entrants, nous pouvons utiliser la méthode Bind_param pour se lier. Le premier paramètre de cette méthode spécifie le type de données (tel que S représente une chaîne, je représente un entier, etc.), et les seconds paramètres et suivants sont la valeur réelle à limiter.
<?php
$status = 'active'; // Supposons que nous voulons interroger le statut comme 'active' Utilisateurs
$stmt->bind_param('s', $status);
?>
Une fois que la requête SQL est prête et que les paramètres sont liés, nous pouvons exécuter la requête et utiliser bind_result pour lier les résultats de la requête à la variable PHP.
<?php
// Exécuter une requête
$stmt->execute();
// Lier le résultat de la requête à la variable
$stmt->bind_result($id, $name, $email);
// Obtenez les résultats de la requête
while ($stmt->fetch()) {
echo "ID: $id, Name: $name, Email: $email\n";
}
?>
Dans le code ci-dessus, nous utilisons Bind_result pour lier les résultats de la requête aux variables $ id , $ name et $ e-mail . Grâce à la méthode Fetch , nous pouvons extraire les données dans le réglage des résultats en ligne par ligne et la sortir.
Après avoir terminé la requête, n'oubliez pas de fermer l'instruction et la connexion de la base de données:
<?php
$stmt->close();
$mysqli->close();
?>
Si votre requête implique une URL ou un autre lien et que vous souhaitez remplacer le domaine URL par M66.net , vous pouvez remplacer le résultat de la requête. En supposant que le champ de messagerie renvoyé par la requête contient une URL, nous pouvons le gérer comme ceci: