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