Foros del Web » Programando para Internet » PHP »

Imposible leer un asterisco de Mysql desde PHP

Estas en el tema de Imposible leer un asterisco de Mysql desde PHP en el foro de PHP en Foros del Web. Buenas noches... Ando un poco flipando con un problema con el que me he topado y por más que busco documentación por internet no encuentro ...
  #1 (permalink)  
Antiguo 30/04/2014, 16:52
Avatar de Tollelle  
Fecha de Ingreso: enero-2005
Mensajes: 64
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta Imposible leer un asterisco de Mysql desde PHP

Buenas noches...

Ando un poco flipando con un problema con el que me he topado y por más que busco documentación por internet no encuentro nada con lo que poder solucionarlo... a lo mejor he buscado... pero ya no sé como intentarlo...

Les comento el caso a ver si pueden ayudarme.

Tengo una base datos Mysql con unos campos, y en esos campos tengo registros del tipo 'MOD*', lo campos son CHAR(4) y los nombre de campos son numéricos consecutivos del 01 a 10.

Pues resulta que cuando intento cargar en pantalla un registro determinado de un campo definido por variable... no hay forma humana de que muestre el '*' del final.

Un ejemplo del código que no muestra el *:
Código PHP:
$campo='05'

$result mysql_query("SELECT * FROM tabla",$conexion);
while(
$row mysql_fetch_array($result))
{
 echo 
"$row[$campo]";

Sin embargo, si lo llamo sin variables sí muestra el *:
Código PHP:
$result mysql_query("SELECT * FROM tabla",$conexion);
while(
$row mysql_fetch_array($result))
{
 echo 
"$row[05]";

He probado a intentar disparates de este tipo sin resutados:
Código PHP:
$campo='05'

$result mysql_query("SELECT * FROM tabla",$conexion);
while(
$row mysql_fetch_array($result))
{
 if(
$campo=='05'){echo "$row[05]";}

He probado todo esto también:
Código PHP:
echo $row["$campo"];

if(
$campo=='05'){$campo="$row[05]";}
echo 
"$campo";

if(
$campo=='05'){echo $row["05"];}

if(
$campo=='05'){echo $row['05'];} 
¿A alguien se le ocurre por qué puede ser que no vea ese dichoso asterísco '*'?

PD: el SELECT de Mysql tampoco lo identifica... un $campo LIKE '%\*' o $campo LIKE '%\*%' o $campo LIKE '%*' o $campo LIKE '%*%' o $campo LIKE '%\*' o CHARACTER_LENGTH($campo)>'3'... tampoco es capaz de filtrarlo...

Gracias de antemano
  #2 (permalink)  
Antiguo 30/04/2014, 17:16
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Imposible leer un asterisco de Mysql desde PHP

fíjate bien. a la hora de asignar un valor a $campo, lo haces en forma de string.
__________________
Ayúdame a hacerlo por mi mismo.
  #3 (permalink)  
Antiguo 30/04/2014, 17:30
 
Fecha de Ingreso: noviembre-2010
Ubicación: en las nubes
Mensajes: 56
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Imposible leer un asterisco de Mysql desde PHP

bueno para ver que hay en tu array , te recomiendo el var_dump().
si quieres imprimir un elemento de tu array echo "$row[$campo]";
seria bueno intentar con {} , es decir echo "{$row[$campo]}";, pero mas sensillo,
echo $row[$campo]; o en su defecto echo "".$row[$campo];

suerte

nota como son array no numéricos , los indices siempre seran cadenas , y según la teoría de manejo de cadenas , es igual una cadena entre dobles comillas y comillas simples , la diferencia es que al ser comillas simples , guarda exactamente lo que se encuentra entre ellas y con doble comillas , se evalúa el valor , si existe una variable
ejemplo:
Código PHP:
Ver original
  1. $val="123";
  2. $val2="el valor es: $val";
  3. $val3='el valor es: $val';
  4. echo $val2;
  5. echo $val3;
los resultado seria
el valor es: 123
el valor es: $val
__________________
la mejor soluciones no es la mas complicada, si no con la mejor ingenio
  #4 (permalink)  
Antiguo 30/04/2014, 17:50
Avatar de Tollelle  
Fecha de Ingreso: enero-2005
Mensajes: 64
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Imposible leer un asterisco de Mysql desde PHP

Pues no consigo nada...
Aclarar que en todos los casos leo el contenido del campo pero sin el famosos asterisco '*'
Me muestra MOD cuando en la base de datos está como MOD*
  #5 (permalink)  
Antiguo 30/04/2014, 18:03
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Imposible leer un asterisco de Mysql desde PHP

a ver si me entero.

al ejecutar este código
Código PHP:
Ver original
  1. $campo='05';
  2.  
  3. $result = mysql_query("SELECT * FROM tabla",$conexion);
  4. while($row = mysql_fetch_array($result))
  5. {
  6.  echo "$row[$campo]";
  7. }

te tiene que dar un error, ya que el 05 de $campo es en forma de string, mientras que tú esperas llamar al campo 05 en forma de número ¿cierto?
__________________
Ayúdame a hacerlo por mi mismo.
  #6 (permalink)  
Antiguo 30/04/2014, 18:08
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Imposible leer un asterisco de Mysql desde PHP

Puedes mostrar la estructura de tu tabla?
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: imposible, mysql, registro, select, tabla, variable
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 03:19.