Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

mysqli extensión mejorado y seleccionar todos los campos

Estas en el tema de mysqli extensión mejorado y seleccionar todos los campos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. ¿De qué forma puedo seleccionar todos los campos en una sentencia preparada? Gracias. Código PHP: $_GET [ 'mostrados' ] =  3 ; // Aquí me gustaría hacer un SELECT * FROM marca LIMIT ?, pero si lo hago no coincide cuando vinculo el resultado (bind_result) if ( $stmt  =  ...
  #1 (permalink)  
Antiguo 12/09/2008, 03:17
 
Fecha de Ingreso: diciembre-2006
Mensajes: 19
Antigüedad: 17 años, 3 meses
Puntos: 1
mysqli extensión mejorado y seleccionar todos los campos

¿De qué forma puedo seleccionar todos los campos en una sentencia preparada?

Gracias.

Código PHP:
$_GET['mostrados'] = 3;

// Aquí me gustaría hacer un SELECT * FROM marca LIMIT ?, pero si lo hago no coincide cuando vinculo el resultado (bind_result)
if ($stmt $mysqli->prepare('SELECT Id,Nombre FROM marca LIMIT ?')) {

    
$stmt->bind_param('i'$_GET['mostrados']);
    
$stmt->execute();

    
$stmt->bind_result($id,$nombre);

     while (
$stmt->fetch()){
        echo 
'Id: '.$id.' -> Nombre: '.$nombre.'<br>';
     }

    
$stmt->close();

  #2 (permalink)  
Antiguo 12/09/2008, 04:24
 
Fecha de Ingreso: diciembre-2006
Mensajes: 19
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: mysqli extensión mejorado y seleccionar todos los campos

Después de mucho buscar encontré esto, la verdad que me pierdo cuando llega la llamada de función de usuario, pero funciona!
Código PHP:
$param 3;

$stmt $mysqli->prepare('SELECT * FROM marca LIMIT ?');

    
$stmt->bind_param('i'$param);
    
$stmt->execute();

    
$meta $stmt->result_metadata();
    
    while (
$field $meta->fetch_field()) {
        echo 
$field->name;
        
$arr_result[] =& $row[$field->name];
    }

    
call_user_func_array(array($stmt,'bind_result'),$arr_result);

    while(
$stmt->fetch()){
        echo 
'Id -> '.$row['Id'].', Nombre  ->'.$row['Nombre'].'<br>';
    }

$stmt->close(); 
  #3 (permalink)  
Antiguo 12/09/2008, 08:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: mysqli extensión mejorado y seleccionar todos los campos

Hola supratux,

Dentro de la medida de lo posible, te recomendaria que te cambiaras a PDO, es un buen adaptador y mas "user-friendly".

Saludos.
  #4 (permalink)  
Antiguo 12/09/2008, 09:19
 
Fecha de Ingreso: diciembre-2006
Mensajes: 19
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: mysqli extensión mejorado y seleccionar todos los campos

Muchas gracias por el aporte, creía que PDO era una clase desarrollada por terceros; sin embargo resulta que es una interaz escrita en C y que viene activada por defecto partir de PHP 5.1.

Lo pondremos en práctica, pero por lo que he ojeado tiene muy buena pinta, GRACIAS.
  #5 (permalink)  
Antiguo 12/09/2008, 11:23
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: mysqli extensión mejorado y seleccionar todos los campos

Ojo que algunos servidores compartidos no lo quieren habilitar :(
__________________
Drupal Argentina
  #6 (permalink)  
Antiguo 12/09/2008, 22:35
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: mysqli extensión mejorado y seleccionar todos los campos

ojo con PDO ya he visto varios benchmarks en los que queda opacado por mysqli, es un excelente adaptador pero mysqli en performance es mejor, siempre hablando de mysql PDO tiene expansion a otros motores gran punto a favor
__________________
Degiovanni Emilio
developtus.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:15.