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;
}
}
Pas de commentaires