J'essaie de sélectionner le dernier enregistrement d'une table dans MySQL en utilisant PHP. Je crois que j'ai une erreur SQL. Voici mon code SQL:
SELECT TOP 1 id FROM `table` ORDER BY id DESC
Si cela est valide et que j'ai une erreur PHP, dites-le moi.
vous avez une syntaxe SQL invalide. utilisez LIMIT à la place
essaye ça:
SELECT id
FROM table
ORDER BY id DESC
LIMIT 1
la clause TOP
fonctionne sur le serveur MSSQL.
Une approche plus simple et plus agnostique aux SGBD serait:
SELECT MAX(id) AS id
FROM table
C'est seulement si vous voulez juste le champ id
, sinon si vous essayez de SÉLECTIONNER d'autres colonnes, les données correspondantes ne seront pas renvoyées dans le champ id
et vous devrez plutôt utiliser:
SELECT id, otherfields, ..., ...
FROM table
WHERE id = (SELECT MAX(id) FROM table)
Cela fonctionnera Pour trouver le dernier enregistrement si vous ne souhaitez pas utiliser limite
SELECT TOP 1 FROM Products ORDER BY id desc
Autre
SELECT * FROM Products ORDER BY id DESC LIMIT 1