web-dev-qa-db-fra.com

Comment vérifier si une requête MySQL utilisant l'API héritée a réussi?

Comment puis-je vérifier si une requête MySQL réussit autre que d'utiliser die()

J'essaie d'atteindre ...

mysql_query($query);

if(success){
//move file
}
else if(fail){
//display error
}
34
JohnSmith

Ceci est le premier exemple dans la page de manuel pour mysql_query :

$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

Si vous souhaitez utiliser autre chose que die, alors je suggérerais trigger_error .

57
Mark Byers

Vous pouvez aussi utiliser mysql_errno()

$result = mysql_query($query);

if(mysql_errno()){
    echo "MySQL error ".mysql_errno().": "
         .mysql_error()."\n<br>When executing <br>\n$query\n<br>";
}
12
Taha Paksu

Si votre requête échoue, vous recevrez une valeur de retour FALSE. Sinon, vous recevrez une ressource/TRUE.

$result = mysql_query($query);

if(!$result){
    /* check for error, die, etc */
}

En gros tant que ce n'est pas faux, ça va. Ensuite, vous pouvez continuer votre code.

if(!$result)

Cette partie du code exécute réellement votre requête.

4
ಠ_ಠ

La fonction mysql_query est utilisée pour exécuter la requête mysql en php. mysql_query renvoie false si l'exécution de la requête échoue. Vous pouvez également essayer d'utiliser la fonction mysql_error() Par exemple

$result=mysql_query($sql)

ou

die(mysql_error());

Dans l'extrait de code ci-dessus, si l'exécution de la requête échoue, elle met fin à l'exécution et affiche une erreur mysql lors de l'exécution de la requête SQL.

2
Rubin Porwal

si vous utilisez MySQLi bind_param, essayez de placer cette ligne au-dessus de la requête 

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
0
Yousef Altaf