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 :

Migration PHP 5.2 et mssql


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 332
    Points : 476
    Points
    476
    Par défaut Migration PHP 5.2 et mssql
    Bonjour,

    Nous avons un très vieux intranet avec utilisation de PHP 5.2 et de la librairie mssql http://php.adamharvey.name/manual/fr/intro.mssql.php obsolète bien évidemment.

    la grande question c'est qu'il y a une centaine de pages PHP comme ça à migrer vers sqlsrv.

    il ne suffit pas de changer mssql_query en sqlsrv_query car l'ordre des paramètres change.

    --------------------------------------------------------------------------------------
    MSSQL PHP extension PHP Driver for SQL Server
    --------------------------------------------------------------------------------------
    mssql_fetch_assoc($stmt) sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)
    mssql_fetch_row($stmt) sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC)
    mssql_fetch_array($stmt, MSSQL_ASSOC) sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)
    mssql_fetch_array($stmt, MSSQL_NUM) sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC)
    mssql_fetch_array($stmt, MSSQL_BOTH) sqlsrv_fetch_array($stmt, SQLSRV_FETCH_BOTH)
    mssql_next_result($stmt) sqlsrv_next_result($stmt)

    votre avis?

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 868
    Points : 6 582
    Points
    6 582
    Par défaut
    PHP 5.2 ? Franchement à ta place je recommencerais tout de A à Z. Au-delà du changement d'extension, le PHP et sa pratique ont quand même pas mal évolué depuis quasiment 20 ans, donc pour mettre ton code à niveau sur la version actuelle, il faudra bien plus que de modifier quelques fonctions.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 144
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 144
    Points : 8 317
    Points
    8 317
    Billets dans le blog
    17
    Par défaut
    Je serais moins radical que CosmoKnacki, car si les bonnes pratiques ont été respectées il ne devrait pas non plus y avoir besoin de tout refaire, mais un bon lifting oui sûrement

    Concernant mssql et sqlsrv, ne recommence pas la même erreur, et passe par PDO qui se charge d'encapsuler les libs sous-jacentes de manière transparente => https://www.php.net/manual/fr/ref.pdo-sqlsrv.php

    Ici https://www.php.net/eol.php tu peux retrouver des guides de migration d'une version de PHP à l'autre, regarde notamment les "Backward Incompatible Changes".
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  4. #4
    Membre confirmé Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 332
    Points : 476
    Points
    476
    Par défaut
    OK merci, je pensais faire un script python ou autre pour faire la conversion en automatique... en relisant le code PHP mais c'est pas si simple car l'ordre des paramètre est different

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 144
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 144
    Points : 8 317
    Points
    8 317
    Billets dans le blog
    17
    Par défaut
    Tu peux peut-être ré/écrire les fonctions mssql qui exécuteraient PDO.

    Avec $stmt qui serait une instance PDOStatement :

    function mssql_fetch_assoc($stmt)
    {
        return $stmt->fetch(PDO::FETCH_ASSOC);
    }
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  6. #6
    Membre confirmé Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 332
    Points : 476
    Points
    476
    Par défaut
    oui aussi ! j'avais pas pensé à ça.

    merci

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Apache et php activé le support mssql
    Par SirDarken dans le forum Administration système
    Réponses: 4
    Dernier message: 22/07/2008, 15h23
  2. Migration PHP > Java : Abstraction
    Par rramy dans le forum JDBC
    Réponses: 1
    Dernier message: 21/05/2008, 17h29
  3. Migration PHP > Java
    Par rramy dans le forum Langage
    Réponses: 17
    Dernier message: 19/05/2008, 23h03
  4. Migration PHP/MySQL => ASP/SQLserver
    Par djoyeux dans le forum ASP
    Réponses: 3
    Dernier message: 24/09/2007, 20h55
  5. migration d'une base de mssql vers postgre sql
    Par dim_italia dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 06/08/2004, 22h56

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