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

mysql_fetch_row

Estas en el tema de mysql_fetch_row en el foro de Bases de Datos General en Foros del Web. Estoy empezando a manejar tablas y estoy intentando hacer pequeños códigos que creen, rellenen y muestren una tabla. Por ahora intento hacer uno que simplemente ...
  #1 (permalink)  
Antiguo 02/08/2009, 04:02
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
mysql_fetch_row

Estoy empezando a manejar tablas y estoy intentando hacer pequeños códigos que creen, rellenen y muestren una tabla.

Por ahora intento hacer uno que simplemente muestre las estructura de la tabla, para luego hacer otro que muestre el contenido.

He hecho este:

<?php
$c = mysql_connect("localhost","root","");
mysql_query ("create database basededatos",$c);
mysql_select_db("basededatos");
mysql_query("create table tabla(nombre char, apellidos char)",$c);
$r=mysql_query ("SHOW FIELDS FROM basededatos.tabla",$c);
while($t=mysql_fetch_row($r)){
foreach ($t as $valor){
print $valor;
}
}
mysql_query("drop database basededatos",$c);
?>

Y éste es el resultado:

nombrechar(1)YESapellidoschar(1)YES

Luego he hecho éste:
<?php
$link = mysql_connect("localhost", "root","");
if (!$link) {
die('No se conectó: ' . mysql_error());
}
echo 'Connected successfully';
$c=mysql_query("create database alumnos",$link);
if(!$c){
die ('No se creó la base:'. mysql_error());
}
mysql_select_db("ALUMNOS",$link);
mysql_query("CREATE TABLE CLASE(
numlista VARCHAR(2) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
nombre varchar(10),
apellidos varchar(20)",
$link);
mysql_query ("insert clase (nombre, apellidos)values ('Paco','Ruiz González')");
mysql_query ("insert clase (nombre, apellidos)values ('Auxi','Gómez Rengel')");

$result=mysql_query("SHOW FIELDS FROM alumnos.clase",$link);
while($t=mysql_fetch_row($result)){
foreach($t as $valor){
print $valor;
}
}
mysql_query ("drop database alumnos");
?>

Y éste es el resultado:

Connected successfully
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\xampp\alumnos.php on line 21

La línea 21 es :

while($t=mysql_fetch_row($result)){

Que es exactamente igual a la del primer programa y debería funcionar igual. Llevo un buen rato buscando diferencias. No veo nada mal.
  #2 (permalink)  
Antiguo 02/08/2009, 16:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: mysql_fetch_row

Por lo menos dos errores, ambos en la creación de la tablla CLASE:
1. Un VARCHAR no es SIGNED o UNSIGNED, ya que es un campo para caracteres, no para números. Y menos puede ser AUTO_INCREMENT.
2. La sentencia de creación no está cerrada, por lo que no está completa:
Código sql:
Ver original
  1. CREATE TABLE CLASE(
  2. numlista VARCHAR(2) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  3. nombre VARCHAR(10),
  4. apellidos VARCHAR(20)
Sería correcta así:
Código sql:
Ver original
  1. CREATE TABLE CLASE(
  2. numlista INT UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  3. nombre VARCHAR(10),
  4. apellidos VARCHAR(20));
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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:16.