J'ai cette requête et si elle retourne avec succès, je veux une autre fonction à traiter, sinon, ne traite pas cette fonction.
Voici le code pour exécuter la requête
global $DB;
$DB->query("UPDATE exp_members SET group_id = '$group_id' WHERE member_id = '$member_id'");
J'imagine que c'est quelque chose comme ...
if($DB) {
//success
} else {
//failure
}
C'est la façon la plus simple de tester
$query = $DB->query("UPDATE exp_members SET group_id = '$group_id' WHERE member_id = '$member_id'");
if($query) // will return true if succefull else it will return false
{
// code here
}
Je comprends qu’en disant "réussie", vous voulez savoir si des lignes ont été mises à jour. Vous pouvez le vérifier avec cette fonction.
Si vous utilisez PDO -> http://www.php.net/manual/fr/pdostatement.rowcount.php
if ($DB->rowCount() > 0)
{/* Update worked because query affected X amount of rows. */}
else
{$error = $DB->errorInfo();}
global $DB;
$status = $DB->query("UPDATE exp_members SET group_id = '$group_id' WHERE member_id = '$member_id'");
if($status == false)
{
die("Didn't Update");
}
Si vous utilisez mysql_query
dans le backend (quel que soit $DB->query()
utilisé pour interroger la base de données), une commande TRUE
ou FALSE
pour INSERT
, UPDATE
et DELETE
(et quelques autres) sera retournée, en fonction de leur statut.
si la valeur est 0, cela n'a pas abouti, mais si 1 a réussi.
$this->db->affected_rows();
if ($DB->query(...)) { success }
else { failure }
query devrait retourner false en cas d'échec (si vous utilisez mysql_query ou $ mysqli-> query). Si vous voulez vérifier si la requête UPDATE a réellement fait quelque chose (ce qui est totalement différent de "succès"), utilisez donc mysql_affected_rows ou $ mysqli-> affects_rows
Ceci s’est révélé le mécanisme le plus sûr pour moi de tester l’échec lors de l’insertion ou de la mise à jour:
$result = $db->query(' ... ');
if ((gettype($result) == "object" && $result->num_rows == 0) || !$result) {
failure
}
si vous n'utilisez pas le format ->
, vous pouvez procéder comme suit:
$a = "SQL command...";
if ($b = mysqli_query($con,$a)) {
// results was successful
} else {
// result was not successful
}