Problema con Pear::DB

Rodrigo Perez rp en allhost.cl
Lun Mayo 17 15:42:33 CLT 2004


Y despues de como 5 horas, de intentar, me respondo solito ....

En el codigo, estoy usando las funciones "mssql", por esas casualidades de la vida, se me ocurrio poner funciones "sybase" (tengo php con freetds) y funciono todo....

Ya saben, no usen mssql_*, usen sybase_* :)

Saludos



El Mon, 17 May 2004 14:32:17 -0400
Rodrigo Perez <rp en allhost.cl> escribio:

> 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