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:
Conclusion cuando yo coji la web esta consulta mostraba dato1,dato2 y dato3.Ver original
function 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 ) { $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; if ( $output == ARRAY_N ) { // ...integer-keyed row arrays } else { // ...column name-keyed row arrays } ++$i; } return $new_array; } } }
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!