Obtention d'une valeur mise à jour à partir d'une mise à jour MySQL
Dans une requête de mise à jour MySQL, il est courant de recevoir le nombre de lignes affectées au lieu de la valeur mise à jour . Il existe cependant une méthode pour récupérer la valeur mise à jour directement à partir de la requête.
Solution : Utilisation d'une procédure stockée
Une procédure stockée peut être créée pour effectuer la mise à jour puis récupérez la valeur mise à jour à l'aide d'un paramètre de sortie. La procédure stockée suivante incrémente la colonne de score dans la table des éléments pour un identifiant donné et renvoie la nouvelle valeur :
<code class="sql">CREATE PROCEDURE increment_score( IN id_in INT ) BEGIN UPDATE item SET score = score + 1 WHERE id = id_in; SELECT score AS new_score FROM item WHERE id = id_in; END</code>
Implémentation PHP
En PHP, la procédure stockée La procédure peut être appelée et la valeur mise à jour peut être obtenue comme suit :
<code class="php">$sql = "CALL increment_score($id)"; $result = mysql_query($sql); $row = mysql_fetch_array($result); echo $row['new_score'];</code>
Cette solution vous permet de mettre à jour la valeur et de récupérer la valeur mise à jour en une seule requête, réduisant ainsi le nombre de requêtes requises pour accomplir la tâche.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!