Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/10/2015, 17:13
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 3 meses
Puntos: 214
Respuesta: Cómo recuperar y enviar el objeto que trae la respuesta de MySQLi


Saludo
¡Ya po!

Pues revisando el tema del modo en que realizaste la consulta
con el bind_result definitivamente es un lío a la hora de
manejar la respuesta.

Pues se me ocurren estas opciones:

1. Realizar un explode.

Código PHP:
if ($valor[] = $FS->validarUsuario($username$password) ) 
$valor explode('|',$valor[0][0]); 

Y de ahí en adelante, ya se maneja con las variables que ya están ($valor[0], etc...)

Esto, pensandolo a futuro para consultas que traigan varios registros
se podría manejar en un solo ciclo
Ej
Código PHP:
if ($valor[] = $FS->validarUsuario($username$password) ) 
//vamos a suponer que vienen 2 valores
for($i 0$i sizeof($valor[0]); $i++)
{
$valor explode('|',$valor[0][$i]);
  foreach (
$valor as $val) {
     echo 
$val;
  }     



2. Cambiar el retorno para que devuelva un array, y aunque el explode
se evitaría, vendría la terapía de recorrer no uno, ni dos, sino 3 arreglos.

3. Cambiar el modo de obtener los datos, usar el query de mysqli,
y con eso sì se obtiene un fetch_array (1 registro) o un fetch_all (varios)
en cuyo caso se recorrería uno o máximo dos arreglos.

4. Hacer uso de adodb (para tu proyecto creo que vendrìa de perlas),
pues es liviano, fàcil de usar, y tiene el tema de bind params implementado
Ej
Código PHP:
$query "SELECT nombre, apellido, tipousuario  FROM m_usuarios WHERE username = ? AND password = ?";
$rs $DB->GetAll($query,array($username$password)); 

Pero al igual que el punto anterior, viene a dar uno o dos arreglos.

5. Hacer uso de un framework (Hay varias ofertas) que tienen tambièn ya
lo de bind params, y obtienen mejor los datos.
Código PHP:
$post['Post']['id']
// o 
$post->id 
En ambos casos usandolos directo cuando son solo 1 registro,
y en un foreach cuando son varios.

Así que ahora, como dijo el arquitecto, y su interlocutor antes que él:
'El tema es de elección'
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com