Buenas a to2, estoy en un gran aprieto, me ofreci para modificar una web y resulta que estoy bloqueado...
He añadido 2 campos a una tabla , pero al leer la tabla desde el php no me lee esos campos, es como si obviara unicamente los ampos nuevos.
El codigo es :
$items = $casedb->get_results( $casedb->prepare("SELECT * FROM tabla WHERE subid = xxx and listo= 'si' ORDER BY orden ", $parent) ) or die (mysql_error());
Al realizarlo me devuelve datos pero no todos, fijense que uso un * por lo que el select contempla todos los campos.
si hago un echo var_dump() del prepare me devuelve :
SELECT * FROM tabla WHERE id= xxx and listo= 'si' ORDER BY orden
Y si ejecuto esta sql en mysql me retorna todos los datos, por lo que deduzco que en el $casedb->get_results() es donde radica el problema, pero por mas que lo reviso no encuentro nada.
Este es el codigo de get_results():
Código PHP:
Ver originalfunction get_results($query = null, $output = OBJECT) {
$this->func_call = "\$db->get_results(\"$query\", $output)";
if ( $query )
$this->query($query);
else
return null;
if ( $output == OBJECT ) {
// Return an integer-keyed array of row objects
return $this->last_result;
} elseif ( $output == OBJECT_K ) {
// Return an array of row objects with keys from column 1
// (Duplicates are discarded)
foreach ( $this->last_result as $row ) {
if ( !isset( $new_array[ $key ] ) ) $new_array[ $key ] = $row;
}
return $new_array;
} elseif ( $output == ARRAY_A || $output == ARRAY_N ) {
// Return an integer-keyed array of...
if ( $this->last_result ) {
$i =0;
foreach( (array) $this->last_result as $row ) { if ( $output == ARRAY_N ) {
// ...integer-keyed row arrays
} else {
// ...column name-keyed row arrays
}
++$i;
}
return $new_array;
}
}
}
Conclusion cuando yo coji la web esta consulta mostraba dato1,dato2 y dato3.
Ahora hay 2 mas pero no los muestra , y si hago un var_dump de $items muestra solo los campos anteriores a mi modificacion.
No se si con esta info es suficiente.
Me he explicado?
Gracia suna vez más!