Foros del Web » Programando para Internet » PHP »

Añadiendo registros desde matriz

Estas en el tema de Añadiendo registros desde matriz en el foro de PHP en Foros del Web. Buenas! Tengo el siguiente script, que añade unos valores a la base de datos: script.php Código PHP: <?php include( "clases/conectar.php" ); $archivo  =  fopen ( ...
  #1 (permalink)  
Antiguo 08/08/2006, 16:04
 
Fecha de Ingreso: agosto-2004
Ubicación: In front of PC
Mensajes: 21
Antigüedad: 13 años, 4 meses
Puntos: 0
Añadiendo registros desde matriz

Buenas!

Tengo el siguiente script, que añade unos valores a la base de datos:

script.php
Código PHP:
<?php

include("clases/conectar.php");

$archivo fopen("urls.txt""r");

if(
$archivo)
{
while(!
feof($archivo))
{
$texto fgets($archivo4096);

$datos explode(" "$texto);

$numero count($datos);

for(
$i=0$i<$numero$i++)
{

$consulta mysql_query("INSERT INTO urls (URL) VALUES ('$datos[i]')") OR DIE(mysql_error());

}

echo 
"Los datos se introdujeron correctamente en la Base de Datos";

}

fclose($archivo);

}

?>
La interacción con la base de datos funciona perfectamente puesto que no da ningún error, pero no añade ninguna URL a la base de datos, el campo URL queda en blanco pero aun así añade registros.

¿Tienen alguna idea de que puede fallar?

Salu2!
  #2 (permalink)  
Antiguo 08/08/2006, 16:22
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Pues algo sencillo con lo que puede checar es verificar que realmente traiga informacion la variable $datos es decir:

Código PHP:
for($i=0$i<$numero$i++)
{
 echo 
$datos['i'];//Verfica que se este ejecuta el echo
 
$consulta mysql_query("INSERT INTO urls (URL) VALUES ('$datos[i]')") OR     DIE(mysql_error());


Saludillos
  #3 (permalink)  
Antiguo 08/08/2006, 19:13
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 14 años, 11 meses
Puntos: 8
me parece q el error esta en

echo $datos['i'];//Verfica que se este ejecuta el echo

tendria q ser echo $datos[$i];
  #4 (permalink)  
Antiguo 08/08/2006, 23:50
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 11 años, 11 meses
Puntos: 5
Buenas, además del signo $ que señala Nefertiter, hay otro inconveniente en el string de la consulta:

Código PHP:
$consulta mysql_query("INSERT INTO urls (URL) VALUES ('$datos[i]')") OR DIE(mysql_error()); 
Para que se reemplace un índice de un array dentro de comillas dobles (las que abren y cierran la consulta), tendrías que usar llaves:

Código PHP:
$consulta mysql_query("INSERT INTO urls (URL) VALUES ('{$datos[$i]}')") OR DIE(mysql_error()); 
Otra sería cortar el string y concatenar:

Código PHP:
$consulta mysql_query("INSERT INTO urls (URL) VALUES ('"$datos[$i] ."')") OR DIE(mysql_error()); 
Suerte
Califa
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:42.