RE-COMPTER L'AUTO-INCREMENT D'UNE TABLE (POUR LES FAINÉANTS ^^)

Signaler
Messages postés
592
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2008
-
Messages postés
2
Date d'inscription
mercredi 3 mai 2006
Statut
Membre
Dernière intervention
19 juillet 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45967-re-compter-l-auto-increment-d-une-table-pour-les-faineants

Messages postés
2
Date d'inscription
mercredi 3 mai 2006
Statut
Membre
Dernière intervention
19 juillet 2008

Bonjour,
C'est bien de proposer ce genre de script mais je le trouve dangereux. En effet, le numéro auto-incrémenté est souvent utilisé comme clef dans une autre table, exemple :

Table catégorie (supposée avoir subi des suppressions)
Id - Libellé
17 - Informatique
22 - Electronique
31 - Papeterie
38 - Divers
Une table produits
id - id_cat - Libellé
1 - 17 - Disque dur
2 - 22 - Condensateur
3 - 31 - Post-It
4 - 17 - Lecteur disquettes
5 - 22 - Transistor
6 - 17 - Carte vidéo

Si après ton script on a :
Id - Libellé
1 - Informatique
2 - Electronique
3 - Papeterie
4 - Divers
Que deviennent les "liens" de la table Produits ?

Donc, à utiliser en connaissance de cause ;)
Messages postés
190
Date d'inscription
lundi 25 novembre 2002
Statut
Membre
Dernière intervention
22 décembre 2009

petite question Yoman64...arrivais tu tjs a accéder à ta table après ? car j'ai lu je sais plus où que tu pouvais créer une table avec un "."(point) dans le nom mais qu'après tu ne pouvais plus y accéder...mais la création fonctionnait tt de meme...
Messages postés
1123
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
1
lol donc oué les accents passent, et pas que ca apparement ^^ :)

Merci Yoman64 pour l'infos ! :)
Messages postés
592
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2008

Salut,

Pour complêter ce que disait codefalse, ne serait-il pas opportun d'échapper les chaines ? $table = mysql_real_escape_string($table);
idem pour champs par exemple. Ensuite évidement vérifier si les requêtes se déroule bien est essentiel avant de retourner true (évite les or die aussi, renvois une exception ou simplement false)

Sinon pour les charactères autorisés (je suis d'avis que d'échapper suffit, pas besoin de validé absolument puisque dans le pire des cas la requête va échouer tout simplement) eh bien ils semblents tous autorisés (sauf ` ) Parce que je me suis créé une base appelé "'ÉÈÀWS!#$%?&*_a@ et ça a passé... lol
Afficher les 10 commentaires