The result type should be either...

Comme c'est pénible. On passe un mois à créer tout un projet basé sur des fonctionnalités spécifiques, tout est merveilleux sur notre serveur local, on télécharge tout ça sur le serveur distant de notre client et PAF : The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL ! Ha oui, on avait oublié que l'hébergeur au top de la technologie moderne utilise encore la version 4 de PHP qui date d'avant notre naissance…

Voici une fonction de substitution qui pourra vous être utile si vous n'avez d'autre choix que d'utiliser PHP4 :

<?php

function FetchObject($rc$class=NULL)
{
    if ($this->phpvers == 5)
    {
        return mysql_fetch_object($rc$class);
    }
    else
    {
        $rc = mysql_fetch_assoc($rc);
        
        if (!$rc)
        {
            return;
        }
        
        if ($class)
        {
            $object = new $class;
            
            foreach ($rc as $key => $value)
            {
                $object->$key = $value;
            }

            $methods = get_class_methods($class);
            $low = strtolower($class);
            
            foreach ($methods as $name)
            {
                if ($name == $low)
                {
                    $object->$class();
                
                    break;
                }
            }
            
            $rc = $object;
        }
        else
        {
            $rc = (object) $rc;
        }
        
        return $rc;
    }
}

Laisser un commentaire

Pas de commentaire