Foros del Web » Programando para Internet » PHP »

error en parser

Estas en el tema de error en parser en el foro de PHP en Foros del Web. estube tratando de parsear una pagina extraer unos valores y luego insertarlo en una db, lo logre ! y funciona muy bien ( ya que ...
  #1 (permalink)  
Antiguo 12/03/2008, 15:24
Avatar de razengan  
Fecha de Ingreso: agosto-2007
Ubicación: Lima - Perulandia
Mensajes: 117
Antigüedad: 16 años, 8 meses
Puntos: 2
error en parser

estube tratando de parsear una pagina extraer unos valores y luego insertarlo en una db, lo logre ! y funciona muy bien ( ya que le hago un echo a las variables y me muestra el contenido extraido) hasta el momento de insertar en la db NO LO INSERTA ! lo probe con otras variables y funciona bien menos con esa variable $letras este es el codigo completo :

Código PHP:

<?

include("config.php"); 

for ( 
$i 97 $i <= 97 $i ++) {
$dir "http://planetadeletras.com/index.php?m=s&lid=".$i;
$html = @join("",file($dir));
preg_match("/title=\"Nombre del Album\">(.*)<\/a>/","$html",$album);
preg_match("/<br \/>(.*)<\/td>/","$html",$Letra); 
preg_match("/<title>Canciones de (.*?) - (.*?) -   Letras de Canciones - Planeta de Letras.com<\/title>/",$html,$autor_cancion);

//declaracion de variables

$autor=$autor_cancion[1];
$titulo=$autor_cancion[2];
$album=$album[1];
$letra=$Letra[1];



mysql_query("INSERT INTO canciones (cancion) VALUES ('$letra')",$con);

echo 
"Se inserto $autor-$titulo correctamente $letra !<br/> ";

}


?>
si alguien podria ayudarme se lo agradeceria , estoy casi seguro que es porque el contenido de esa variable es algo grande , pero si el campo es lowtext
  #2 (permalink)  
Antiguo 12/03/2008, 15:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: error en parser

Prueba esto:
Código PHP:
mysql_query("INSERT INTO canciones (cancion) VALUES ('$letra')",$con) or die( "Error en Query: " mysql_error() ); 
y verifica la salida que te da el script.

Saludos.
  #3 (permalink)  
Antiguo 12/03/2008, 15:39
Avatar de razengan  
Fecha de Ingreso: agosto-2007
Ubicación: Lima - Perulandia
Mensajes: 117
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: error en parser

y que quiere decir este error ?

Cita:
Error en Query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'll go, but I know
I'll think of you in every step of the way.
  #4 (permalink)  
Antiguo 12/03/2008, 15:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: error en parser

Tienes un error al crear tu query, prueba esto:
Código PHP:
$letra addslashes$letra );
mysql_query("INSERT INTO canciones (cancion) VALUES ('$letra')",$con) or die( "Error en Query: " mysql_error() ); 
Saludos.
  #5 (permalink)  
Antiguo 12/03/2008, 16:11
Avatar de razengan  
Fecha de Ingreso: agosto-2007
Ubicación: Lima - Perulandia
Mensajes: 117
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: error en parser

funciona !! !

ahora buscare que es addslashes ?

GRACIAS
  #6 (permalink)  
Antiguo 12/03/2008, 18:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: error en parser

Addslashes lo que hace es agregar una barra \ enfrente de cada comilla simple que encuentra, por decir:

Hola! 'Como estas?'

Se convierte en:

Hola! \'Como estas?\'

Y eso sirve para que no te salga ese error.

Saludos.
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 07:59.