Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

mysql_fetch_array

Estas en el tema de mysql_fetch_array en el foro de Bases de Datos General en Foros del Web. Hola a tod@s, Tengo esta sentencia: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original $sql4 = "SELECT count(*) FROM information _ schema.columns WHERE table _ name = ...
  #1 (permalink)  
Antiguo 26/03/2010, 01:17
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
mysql_fetch_array

Hola a tod@s,

Tengo esta sentencia:
Código MySQL:
Ver original
  1. $sql4 = "SELECT count(*) FROM information_schema.columns WHERE table_name = '".$diferencias."' AND table_schema = '$copiar'";
  2. $res5 = mysql_query($sql4);
  3. $cont = mysql_fetch_array($res5);

Lo que pasa es que cuando hago un echo de $cont me saca la palabra Array en vez del numero de filas. Porque puede ser?

Gracias de antemano y saludos
  #2 (permalink)  
Antiguo 26/03/2010, 02:29
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: mysql_fetch_array

Primero esto es PHP no bases de datos.

Mira el manual

mysql_fetch_array — Fetch a result row as an associative array, a numeric array, or both


La funcion convierte un registro de la consulta que le pasas en un array...


Si quieres saber el numero de columnas de la tabla tienes que pedir el dato enel array

Código PHP:
Ver original
  1. $sql4 = "SELECT count(*) as columnas FROM information_schema.columns WHERE table_name = '".$diferencias."' AND table_schema = '$copiar'";
  2. $res5 = mysql_query($sql4);
  3. $cont = mysql_fetch_array($res5);
  4. echo $cont["columnas"];


Tambien tienes

msql_num_fields — Get number of fields in result

(en este caso daria 1)

Quim
  #3 (permalink)  
Antiguo 26/03/2010, 03:08
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: mysql_fetch_array

Gracias por la respuesta y perdona por no ponerlo en el area adecuado. Lo malo es que el resultado me da cero. cuando con la misma select haciendo un while, me da 8 resultados. porque puede ser?
  #4 (permalink)  
Antiguo 26/03/2010, 03:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: mysql_fetch_array

No tengo mysql aqui para probarlo pero esa consulta te deberia dar un solo registro con algun valor en columnas, siempre que la tabla tenga campos...

Haz esto para ver si lo que le piede es correcto

Código PHP:
Ver original
  1. $sql4 = "SELECT count(*) as columnas FROM information_schema.columns WHERE table_name = '".$diferencias."' AND table_schema = '$copiar'";
  2.  
  3. echo "<br />."$sql4."<br />";

te deberia mostrar la sentencia Sql bien formada...

Segunda prueba

Código PHP:
Ver original
  1. $sql4 = "SELECT * FROM ".$diferencias.";"
  2. $res5 = mysql_query($sql4);
  3. echo msql_num_fields($res5);

te deberia dar el numero de campos esta vez "preguntado" directamente a la tabla.

Quim

(David, puedes trasladar esto a PHP)
  #5 (permalink)  
Antiguo 26/03/2010, 04:08
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: mysql_fetch_array

La primera prueba hace como tu dices, me saca la sql. Pero la segunda prueba me da este error: Warning:

Código MySQL:
Ver original
  1. mysql_num_fields(): supplied argument is not a valid MySQL result resource in

Etiquetas: bases-de-datos
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 00:56.