Problema con Pear::DB
Rodrigo Perez
rp en allhost.cl
Lun Mayo 17 14:32:17 CLT 2004
Sen~ores
Tengo un servidor SQL Server al cual estoy accesando desde PHP, usando Pear::DB, y funcionando ... el problema es cuando quiero cambiar el "fetchMode"...
Segun lei, hay 3 metodos para obtener los resultados ...
DB_FETCHMODE_ORDERED (por defecto)
DB_FETCHMODE_ASSOC
DB_FETCHMODE_OBJECT
Si utilizo $db->setFetchMode(DB_FETCHMODE_ORDERED); funciona perfecto, asi como tambien, si no pongo esa funcion ...
En cambio, si uso DB_FETCHMODE_ASSOC o DB_FETCHMODE_OBJECT, en el print_r, nada veo ....
Lo que no entiendo es el porque no funcionan los otros dos metodos..
¿ Alguien ha tenido experiencias similares o sabe que puede influir en que los otros dos metodos no funcionen ?
San google no me ha ayudado mucho ....
Este es mi codigo:
<?
$db = Coneccion();
$sql = "SELECT * FROM tabla WHERE campo1 = 'valor1' AND campo2='valor2' ";
//$db->setFetchMode(DB_FETCHMODE_ORDERED);
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$resultado =& $db->query($sql);
if($resultado->numRows() > 0) {
echo $resultado->numRows();
$obj_usuario =& $resultado->fetchRow();
echo "<pre>";
print_r($obj_usuario);
echo "</pre>";
die();
}
function Coneccion() {
$dsn = array(
'phptype' => 'mssql',
'username' => 'usuario',
'password' => 'clave',
'hostspec' => 'servidor',
'database' => 'basedatos',
);
$options = array(
'debug' => 2,
'portability' => DB_PORTABILITY_ALL,
);
$var_db =& DB::connect($dsn, $options);
if (DB::isError($var_db)) {
die($var_db->getMessage());
}
return ($var_db);
}
?>
Saludos y gracias a todos
Más información sobre la lista de distribución PHP