Depuis la migration de mon site sous linux, je n’ai pas réussi à rétablir la connexion ODBC.
En effet les résultats retournés sont assez déroutant.
Voici le code utilisé :
$sql = "Select id_agent,nom_agent,email,nb_connect from `kb-axe`.kb_agent ;";
$odbc=odbc_connect("local","root","*****");
if (!$odbc)
{
echo "connexion impossible";
exit;
}
$result=odbc_do($odbc,$sql);
echo "<pre>";
while($res_ar = odbc_fetch_array( $result ) ){
print_r($res_ar);
}
print "</pre>";
Le problème de cette page est que le resultat est aléatoir à chaque rafaichissement. Voici 2 exemples de resultats :Code : Tout sélectionner
Array
(
[id_agent] => 1
[nom_agent] => oot t
[email] => ommut 1 ø
[nb_connect] => 714
)
Array
(
[id_agent] => 7
[nom_agent] => oot t
[email] => ommut 1 ø
[nb_connect] => 252
)
Array
(
[id_agent] => 8
[nom_agent] => oot t
[email] => ommut 1 ø
[nb_connect] => 54
)Code : Tout sélectionner
Array
(
[id_agent] => 1
[nom_agent] => oot
[email] => ommut 1 /usr/lib/loca
[nb_connect] => 714
)
Array
(
[id_agent] => 7
[nom_agent] => oot
[email] => ommut 1 /usr/lib/loca
[nb_connect] => 252
)
Array
(
[id_agent] => 8
[nom_agent] => oot
[email] => ommut 1 /usr/lib/loca
[nb_connect] => 54
)- Le problème des résultats aléatoires n’existe que sur les varchars. Les nombres et les champs textes ne posent aucun problème.
La longueur des varchars (avec les résultats aléatoires) est identique à la longueur des résultats réels en base.
La connexion ODBC à l’aide de la ligne de commande isql retourne les bons résultats.
Problème inexistant sous windows.
OS : Suse 10
Machine : i686
Php : 4.4.2
UnixODBC : 2.2.11
J'ai déjà tenté différentes versions de l'extention unixODBC pour php sans succés.
Je commence à être en manque d'idée donc j'espère que vous pourez m'aider.