essayez ceci
UPDATE skills SET level = level + 1 WHERE id = $id
Comment transformer les 2 requêtes suivantes en 1 requête
$sql = 'SELECT level FROM skills WHERE id = $id LIMIT 1;';
$result = $db->sql_query($sql);
$level = (int) $db->sql_fetchfield('level');
$db->sql_freeresult($result);
++$level;
$sql = 'UPDATE skills SET level = $level WHERE id = $id;';
$result = $db->sql_query($sql);
$db->sql_freeresult($result);
Je l'utilise dans un mod phpBB mais l'essentiel est que je saisis le niveau, en ajoute un puis le mets à jour, il semble que ce serait beaucoup plus facile et plus rapide si je pouvais le faire en une seule requête.< /p>
Modifier : $id
a déjà été forcé à être un nombre entier, donc aucun échappement n'est nécessaire cette fois.
essayez ceci
UPDATE skills SET level = level + 1 WHERE id = $id
Par ici :
UPDATE skills
SET level = level + 1
WHERE id = $id
Que diriez-vous :
UPDATE skills SET level = level + 1 WHERE id = $id;
Mat : C'est ce qui ressort de la question. Il n'a pas été modifié, donc j'attribue cela à un bogue dans Markdown. Mais, curieusement, j'ai remarqué.
Aussi : oui, mysql_escape_string()
!