Erreur recherche max(num_indiv)

Résolu/Fermé
t671 Messages postés 1423 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 16 juillet 2024 - 15 août 2022 à 12:08
t671 Messages postés 1423 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 16 juillet 2024 - 15 août 2022 à 14:56

Bonjour,

Quand je veux créer un enregistrement dans ma base de donnée, via script PHP, je vérifie le champs num_indiv, et je l'incrémente de 1 afin de n'avoir aucun num_indiv similaire 

$req=mysql_query("select max(convert(num_indiv,DECIMAL)) from individus");
$res=mysql_result($req,0,"max(num_indiv)" ); 		// recup du max num_indiv 
$toto = $res + 1;

Actuellement, tous les enregistrements que j'effectue on leur num_indiv = 1

Et j'ai une erreur sur la ligne $res :

max(num_indiv) not found in MySQL result index 4 in /mnt/111/sdb......

Comment corriger cette erreur ?

Merci

2 réponses

jee pee Messages postés 40184 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 13 septembre 2024 9 325
Modifié le 15 août 2022 à 12:17

Bonjour,

Il faudrait un alias pour ta colonne :

$req=mysql_query("select max(convert(num_indiv,DECIMAL)) as maxNum from individus");
$res=mysql_result($req,0,"maxNum" ); 		// recup du max num_indiv 
$newNum= $res + 1;

Après pour ne pas avoir à s'occuper d'un numéro et devoir le gérer à la main, le champ dans la table pourrait être un champ autoincrement géré automatiquement.


0
t671 Messages postés 1423 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 16 juillet 2024 11
15 août 2022 à 14:56

Merci jee pee.

Effectivement, je n'avais pas pensé à l'autoindrément .......

A savoir que dans mon script, si pour $res j'écris 

$res=mysql_result($req,"max(num_indiv)" );

Ca fonctionne !!!!

Ca avit toujours fonctionné comme avant, et du jour au lendemain cela ne fonctionne plus ............... !!!???

0