Voici mon code :Et l'affichage obtenu :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $query="INSERT INTO Appels VALUES(NULL, NOW(), " . $Ut["Numero"] . ", " . $_SESSION["Val3"] . ", '" . $_SESSION["IP"] . "', 'RAS')"; mysqli_query($conn,"LOCK TABLES Appels WRITE") or die(mysqli_error($conn)); //Astuces trouvées sur le NET mysqli_query($conn,"SET AUTOCOMMIT = 0") or die(mysqli_error($conn)); //pour être sûr de récupérer mysqli_query($conn,$query) or die(mysqli_error($conn)); $result = mysqli_query($conn,"SELECT LAST_INSERT_ID()") or die(mysqli_error($conn)); mysqli_query($conn,"COMMIT") or die(mysqli_error($conn)); //le bon numéro... mysqli_query($conn,"UNLOCK TABLES") or die(mysqli_error($conn)); //en bloquant un autre utilisateur $numero=mysqli_fetch_row($result); mysqli_free_result($result); //Enregistrement de la nouvelle IP dans la table "Lieux" $query="UPDATE Lieux SET IP = '" . $_SESSION['IP'] . "', Appel = " . $numero[0] . " WHERE Numero = " . $_SESSION['Val3'] . " AND Utilisateur = ". $_SESSION['Val1']; var_dump($query); mysqli_query($conn,$query) or die(mysqli_error($conn)); $number=mysqli_affected_rows($conn); var_dump($number);J'ai bien vérifié les ";".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 string(84) "UPDATE Lieux SET IP = '192.168.1.51', Appel = 7 WHERE Numero = 2 AND Utilisateur = 1" int(1)
Je vois avec phpMyAdmin que la table "Appels" répond normalement.
Elle a pour premier item 'Numero' qui est auto_increment. Il faut donc être sûr qu'il n'y a pas un autre
"auto_incrément" qui passe oar là par hasard. Ai-je bien compris l'astuce trouvée sur le net ?
La fonction "affected_rows" me dit que 1 enregistrement de "Lieux" est affecté, ce que j'attendais.
Et pourtant phpMyAdmin me montre que la table "Lieux" n'est pas mise à jour...
Merci de m'aider encore une fois.
AMIcalement.
Partager