IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Mysql et serialize


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Par défaut Mysql et serialize
    Bonsoir,
    Je suis sur le point de commencer un nouveau site et je me posais une question. Le site en question doit contenir une base de données assez 'béton' en mysql, et j'ai peur de m'embrouiller très vite entre les noms de mes champs, aussi bien dans la bdd que dans mon code php. J'ai vu qu'il y'avait moyen de transformer une instance de classe en chaine de caractères grâce a la fonction serialize. Cela me simplifierais énormément la vie car dans ce cas je n'ai plus qu'à créer 2 champs pour chaque table de ma base de données: une clé id primaire et un champs 'value' de type text (voir longtext) qui contient le serialize de mon instance. De plus je n'ai qu'à faire un unserialize par la suite pour récupérer mon objet et utiliser par la suite les fonctions membre etc... Seulement je vois que cette technique n'est pas très répandu. Possède t-elle une faille au niveau de la sécurisation des données, des performances, ou autre ? Au niveau de la clareté de la base de données (si par exemple je dois y accéder par phpmyadmin) j'avoue que c'est pas top, mais normalement je suis censé pouvoir modifier toutes les infos à partir du site en lui-même donc ça pose pas de problème. Merci d'avance pour vos réponse.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Par défaut
    ça ne me parait pas terrible car on ne peut pas faire de where sur tes champs vu qu'ils sont serializé. Tout dépend ce que tu veux vraiment stocké dans ta base et comment tu dois lire les données.

    Un exemple tout bete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT MONCHAMP1 FROM MATABLE ORDER BY MONCHAMP1 ASC
    Je sélectionne un champ et je tri sur ce champ...
    C'est assez compliqué à faire dans le cas ou MONCHAMP1 est sérialisé dans un champ value.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Par défaut
    Ouai... c'est vrai que j'avais pas pensé à ça, ça devient assez galère si on veut filtrer les entrées ou bien les trier. Il y a des fonctions pour ça en php mais elle sont plus dur à manipuler, ça peut devenir assez casse-tête...

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Par défaut
    En général, on essai de faire le maximum de traitement sur la requete car c'est bien plus rapide qu'un traitement php. Ton idée peut très bien marché mais il va te falloir pas mal de fonction qu'il te faudra développer et si tu pars sur un gros volume, les performances vont se dégrader très très vite !

  5. #5
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Un petit ajout sur ce message car il pourrait induire en erreur bon nombre d'entre nous.

    Bien sûr que l'on peut faire un WHERE sur un champ serializé.

    Toutefois, rien ne vaut une bonne base de données dans la plupart des cas.

Discussions similaires

  1. Serialization BLOB: mySql
    Par garciajulien dans le forum JDBC
    Réponses: 11
    Dernier message: 07/01/2010, 14h13
  2. [PDO] MySQL, PDO et serialize()
    Par juJuv51 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/02/2008, 17h13
  3. Probleme C++Builder et Mysql
    Par noname dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 13h40
  4. connection a une BDD MySql
    Par delire8 dans le forum MFC
    Réponses: 7
    Dernier message: 19/06/2002, 18h18
  5. [Kylix] Pb connection à Mysql
    Par Anonymous dans le forum EDI
    Réponses: 3
    Dernier message: 25/04/2002, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo