Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Script Insert

Estas en el tema de Script Insert en el foro de PHP en Foros del Web. Buenos días; Estoy construyendo un script de migración de noticias de nuke a wordpress, y he conseguido hacerlo funcionar de momento estoy construyendo poco a ...

  #1 (permalink)  
Antiguo 28/11/2013, 10:19
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Pregunta Script Insert

Buenos días;

Estoy construyendo un script de migración de noticias de nuke a wordpress, y he conseguido hacerlo funcionar de momento estoy construyendo poco a poco y de momento solo conseguí que migre noticias a pelo, el problema es que tal cual tengo el script solo me migra la ultima noticia que tengo en el nuke no consigo que migre todas y no se porque a ver si me podeis ayudar porque solo me queda que las importe todas en bloque y no solo la ultima noticia.

La select si la ejecuto en phpmyadmin me saca todas las noticias que tengo en el nuke, pero algo falla en la insert que solo introduce la ultima noticia.

El script es el siguiente:
Código PHP:
<?php

$tabla 
"wordpress";
$servidor "localhost";
$usuario "root";
$clave "";
set_time_limit(0);
mysql_select_db($tabla,mysql_connect($servidor,$usuario,$clave)) or die("Error de conexión con la base de datos.");
$consulta mysql_query("Select sid, catid, aid, title, time, hometext, bodytext, comments, counter, topic, informant, notes, ihome from nuke_stories limit 6");
while(
$fila=mysql_fetch_array($consulta)){
$sid $fila['sid'];
$title $fila['title'];
$time $fila['time'];
$hometext $fila['hometext'];
$body $fila['bodytext'];


$title $fila['title'];
echo
"$body";
echo 
"<p>ID $sid fecha: $time noticia: $title</p>";

}
$sqlinsert="INSERT INTO wp_posts VALUES ('$sid', '1', '$time', '$time', '$hometext', '$title','', 'publish', 'open', 'open', '','','','', '$time', '$time','', '0 ','', '0', 'post','', '0 '); "
mysql_query ($sqlinsert)
OR die(
"Fatal error" );

?>
  #2 (permalink)  
Antiguo 28/11/2013, 10:29
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Hacelo así:

Código PHP:
Ver original
  1. $tabla = "wordpress";
  2. $servidor = "localhost";
  3. $usuario = "root";
  4. $clave = "";
  5. mysql_select_db($tabla,mysql_connect($servidor,$usuario,$clave)) or die("Error de conexión con la base de datos.");
  6. $consulta = mysql_query("Select sid, catid, aid, title, time, hometext, bodytext, comments, counter, topic, informant, notes, ihome from nuke_stories limit 6");
  7. while($fila=mysql_fetch_array($consulta)){
  8. $sid = $fila['sid'];
  9. $title = $fila['title'];
  10. $time = $fila['time'];
  11. $hometext = $fila['hometext'];
  12. $body = $fila['bodytext'];
  13.  
  14.  
  15. $title = $fila['title'];
  16. echo"$body";
  17. echo "<p>ID $sid fecha: $time noticia: $title</p>";
  18.  
  19. $sqlinsert="INSERT INTO wp_posts VALUES ('$sid', '1', '$time', '$time', '$hometext', '$title','', 'publish', 'open', 'open', '','','','', '$time', '$time','', '0 ','', '0', 'post','', '0 '); ";  
  20. mysql_query ($sqlinsert)
  21. OR die("Fatal error" );
  22.  
  23. }
  #3 (permalink)  
Antiguo 28/11/2013, 10:40
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

Perdon tengo puesto el limit 6 porque estuve haciendo pruebas, si lo quito tampoco me introduce las 600 y algo noticias que tengo no me las migra.

Por cierto que es lo que cambia, porque no veo lo que cambiaste?

muchas gracias
  #4 (permalink)  
Antiguo 28/11/2013, 10:43
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Puse el insert dentro del bucle, antes estaba fuera. Entonces siempre inserta el último valor.

Probalo y decime que tal.

Saludos
  #5 (permalink)  
Antiguo 28/11/2013, 10:46
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

si, me di cuenta, bueno pues quitando el limit 6 de la consulta y ejecutandolo como tu dices, me da al final Fatal error y en total importa sobre 31 noticias nada mas, no se el porque la verdad, como puedo poner algo mas para comprobarlo o me diga el total de lo que importa?, no se la verdad porque da fatal error.
  #6 (permalink)  
Antiguo 28/11/2013, 10:55
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Que dice el error?.
  #7 (permalink)  
Antiguo 28/11/2013, 10:58
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

Solamente dice Fatal error es lo que pone en OR die("Fatal error" );

He probado a instalar un wordpress de 0 y la primera vez que ejecuto el script me migro 31 noticias y me dio fatal error, lo ejecuto de nuevo y volvio a dar fatal error pero en total me migro hasta 81 noticias en total, pero ahora si lo sigo ejecutando no migra mas de 81 y desconozco el porque, ninguna ID de mis noticias coincide con la ID de wordpress.
  #8 (permalink)  
Antiguo 28/11/2013, 11:01
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Cambialo así y decime que error te da

OR die(mysql_error() );
  #9 (permalink)  
Antiguo 28/11/2013, 11:05
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

Acabo de restaurar la base de datos por una totalmente nueva y da el siguiente error;


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 'puesto en la accidentada carrera de Mieres le ha dado fuerza , habra que observa' at line 1


No entiendo el error lo da en un texto de una noticia creo que es, porque puede ser?
  #10 (permalink)  
Antiguo 28/11/2013, 11:15
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Sácale el punto y coma:

Al final de insert, eso va en mysql acá en php no hace falta.

Lo marco en negrita

$sqlinsert="INSERT INTO wp_posts VALUES ('$sid', '1', '$time', '$time', '$hometext', '$title','', 'publish', 'open', 'open', '','','','', '$time', '$time','', '0 ','', '0', 'post','', '0 ') ;";

Así tiene que quedar

$sqlinsert="INSERT INTO wp_posts VALUES ('$sid', '1', '$time', '$time', '$hometext', '$title','', 'publish', 'open', 'open', '','','','', '$time', '$time','', '0 ','', '0', 'post','', '0 ') ";

Si te sique dando error antes de ejectuar la consulta pone

die($sqlinsert);

Y mostrame el resultado.

Saludos
  #11 (permalink)  
Antiguo 28/11/2013, 11:30
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

quitando el ; y ejecutando en una instalacion nueva da el mismo error que antes, donde tengo que poner el die ese exactamente?
  #12 (permalink)  
Antiguo 28/11/2013, 11:33
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

he cambiado el OR die(mysql_error() ); del final por OR die($sqlinsert); y esto es lo que ha mostrado, solo ha migrado 33 noticias esta vez. Sigue sin migrar todo el contenido, si ejecutas el script dos veces consigue importar hasta las 80 noticias como antes, pero de ahi para adelante nada.


Código PHP:
INSERT INTO wp_posts VALUES ('112''1''2004-08-01 22:17:42''2004-08-01 22:17:42''En una noche muy festiva y en ambiente de camaderia se celebro la carrera nocturna de todos los años puntuable para el campeonato regional 1/5 y electricos despues de un pincheo se empezaron las clasificatorias y hacia la 1 de la mañana se celebro la final con la reaparicion del piloto local Pablo Menendez despues de casi un año sin participar en estas pruebas, esperamos que el resultado de la carrera y el buen hacer de este piloto le siga dando fuerzas para continuar.
El resultado de la carrera quedo de la siguente manera : 
como ya viene siendo mas que habitual 
1º Adrian Viña
Con una reaparicion en las pistas y como era de esperar en los resultados
2º Pablo Menendez
Y con un resultado que esperemos se siga repitiendo en los puestos de cabeza despues de una temporada llena de problemas ,parece que ser que despues del un 2' 
puesto en la accidentada carrera de Mieres le ha dado fuerza habra que observar la evolucion de este piloto en lo que queda de campeonato y eventeos.
3' Jose Arias.

'
'Resultado carrera regional nocturna 1/5','''publish''open''open''','','','''2004-08-01 22:17:42''2004-08-01 22:17:42','''0 ','''0''post','''0 '
  #13 (permalink)  
Antiguo 28/11/2013, 12:07
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

El problema esta en que te corta la cadena mira esta parte:

Código PHP:
Ver original
  1. despues del un 2' puesto

Y acá:

Código PHP:
Ver original
  1. 3' Jose Arias.

El texto tendría que quedar:

Código PHP:
Ver original
  1. INSERT INTO wp_posts VALUES ('112', '1', '2004-08-01 22:17:42', '2004-08-01 22:17:42', 'En una noche muy festiva y en ambiente de camaderia se celebro la carrera nocturna de todos los años puntuable para el campeonato regional 1/5 y electricos despues de un pincheo se empezaron las clasificatorias y hacia la 1 de la mañana se celebro la final con la reaparicion del piloto local Pablo Menendez despues de casi un año sin participar en estas pruebas, esperamos que el resultado de la carrera y el buen hacer de este piloto le siga dando fuerzas para continuar.
  2. El resultado de la carrera quedo de la siguente manera :
  3. como ya viene siendo mas que habitual
  4. 1º Adrian Viña
  5. Con una reaparicion en las pistas y como era de esperar en los resultados
  6. 2º Pablo Menendez
  7. Y con un resultado que esperemos se siga repitiendo en los puestos de cabeza despues de una temporada llena de problemas ,parece que ser que despues del un 2 puesto en la accidentada carrera de Mieres le ha dado fuerza , habra que observar la evolucion de este piloto en lo que queda de campeonato y eventeos.
  8. 3 Jose Arias.
  9.  
  10. ', 'Resultado carrera regional nocturna 1/5','', 'publish', 'open', 'open', '','','','', '2004-08-01 22:17:42', '2004-08-01 22:17:42','', '0 ','', '0', 'post','', '0 ')

Fijate que devuelve esta variable $hometext.

Antes de hacer el insert.

Y fijate por que te devuelve de esa forma.

Saludos
  #14 (permalink)  
Antiguo 28/11/2013, 12:09
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

y que tendria que hacer? cual es la solucion para que no de errores en ningun sitio?
  #15 (permalink)  
Antiguo 28/11/2013, 12:17
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

A ver....

Cambialo así:

Código PHP:
Ver original
  1. $tabla = "wordpress";
  2. $servidor = "localhost";
  3. $usuario = "root";
  4. $clave = "";
  5. mysql_select_db($tabla,mysql_connect($servidor,$usuario,$clave)) or die("Error de conexión con la base de datos.");
  6. $consulta = mysql_query("Select sid, catid, aid, title, time, hometext, bodytext, comments, counter, topic, informant, notes, ihome from nuke_stories limit 6");
  7. while($fila=mysql_fetch_array($consulta)){
  8. $sid = "'" . $fila['sid'] . "'";
  9. $title = "'" . $fila['title'] . "'";
  10. $time = "'" . $fila['time'] . "'";
  11. $hometext = "'" . $fila['hometext'] . "'";
  12. $body = "'" . $fila['bodytext'] . "'";
  13.  
  14.  
  15. $title = $fila['title'];
  16. echo"$body";
  17. echo "<p>ID $sid fecha: $time noticia: $title</p>";
  18.  
  19. $sqlinsert="INSERT INTO wp_posts VALUES ($sid, '1', $time, $time, $hometext, $title,'', 'publish', 'open', 'open', '','','','', $time, $time,'', '0 ','', '0', 'post','', '0 '); ";  
  20. mysql_query ($sqlinsert)
  21. OR die("Fatal error" );
  22. }
  #16 (permalink)  
Antiguo 28/11/2013, 13:11
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

mañana pruebo y te cuento
  #17 (permalink)  
Antiguo 29/11/2013, 01:46
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

Hoy he probado y con lo de las comillas simples del script que pones arriba y da el siguiente error, no migra ninguna noticia ni ejecutandolo varias veces, como siempre con instalcion nueva de worpress, da este error las " y fatal error:

''
ID '380' fecha: '2007-01-06 21:33:10' noticia: Serpent estrena pagina

Fatal error

Te pego el script tal cual lo tengo

Código PHP:
<?php

$tabla 
"wordpress"
$servidor "localhost"
$usuario "root"
$clave ""
set_time_limit(0); 
mysql_select_db($tabla,mysql_connect($servidor,$usuario,$clave)) or die("Error de conexión con la base de datos."); 
$consulta mysql_query("Select sid, catid, aid, title, time, hometext, bodytext, comments, counter, topic, informant, notes, ihome from nuke_stories"); 
while(
$fila=mysql_fetch_array($consulta)){ 
$sid "'" $fila['sid'] . "'"
$title "'" $fila['title'] . "'"
$time "'" $fila['time'] . "'"
$hometext "'" $fila['hometext'] . "'"
$body "'" $fila['bodytext'] . "'"
 
 
$title $fila['title']; 
echo
"$body"
echo 
"<p>ID $sid fecha: $time noticia: $title</p>"
 
$sqlinsert="INSERT INTO wp_posts VALUES ($sid, '1', $time, $time, $hometext, $title,'', 'publish', 'open', 'open', '','','','', $time, $time,'', '0 ','', '0', 'post','', '0 ') ";  
mysql_query ($sqlinsert
OR die(
"Fatal error" ); 
}
?>
  #18 (permalink)  
Antiguo 29/11/2013, 06:09
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Primero: saca el fatal error y deja mysql_error

Segundo: El insert esta mal te faltan los campos agregar, tenes solos los values:

Un ejemplo

Código MySQL:
Ver original
  1. INSERT INTO table (a,b,c) VALUES (1,2,3)

Y por último fijate si estas insertando bien las fechas en el formato correcto.

Saludos
  #19 (permalink)  
Antiguo 29/11/2013, 06:27
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

Las fechas no dan nunca error cuando se insertan es en formato correcto, y el tema que dices de que el insert esta mal, no creo porque sino nunca hubiese funcionado nunca tuve que pones las tablas delante de los values. Te digo como tengo el script ahora mismo que he modificado la consulta para que solo saque lo que yo quiero, y me da el siguiente error:

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 'puesto en la accidentada carrera de Mieres le ha dado fuerza , habra que observa' at line 1

No entiendo el error, pero lo esta dando con lo de 1º 2º por esos simbolos, creo no lo se,¿Que puedo hacer?

El script esta asi:

Código PHP:
<?php

$tabla 
"wordpress"
$servidor "localhost"
$usuario "root"
$clave ""
set_time_limit(0); 
mysql_select_db($tabla,mysql_connect($servidor,$usuario,$clave)) or die("Error de conexión con la base de datos."); 
$consulta mysql_query("Select sid, title, time, hometext, bodytext from nuke_stories"); 
while(
$fila=mysql_fetch_array($consulta)){ 
$sid "'" $fila['sid'] . "'"
$title "'" $fila['title'] . "'"
$time "'" $fila['time'] . "'"
$hometext "'" $fila['hometext'] . "'"
$body "'" $fila['bodytext'] . "'"
 

echo
"$body"
echo 
"<p>ID $sid fecha: $time noticia: $title</p>"
 
$sqlinsert="INSERT INTO wp_posts VALUES ($sid, '1', $time, $time, $hometext, $title,'', 'publish', 'open', 'open', '','','','', $time, $time,'', '0 ','', '0', 'post','', '0')";  
mysql_query ($sqlinsert
OR die(
mysql_error() ); 
}
?
  #20 (permalink)  
Antiguo 29/11/2013, 06:32
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Nunca te funcionó bien el insert, fíjate

Yo jamas vi un insert así.

Y otra cosa que haría es validar los campos si tienen el formato correcto.

Estoy seguro que esta por ahí el problema.

Te mando saludos
  #21 (permalink)  
Antiguo 29/11/2013, 06:37
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

Te indico, los campos que hay en la tabla donde intento insertar los datos son estos:
ID
post_autor
post_date
post_date_gmt
post_content
post_title
post_excerpt
post_status
comment_status
ping_status
post_password
post_name
to_ping
pinged
post_modified
post_modified_gmt
post_content_filtered
post_parent
guid
menu_order
post_type
post_mime_type
comment_count

En total 23, si te fijas en mi insert hay los 23 campos puestos, porque esta mal?
  #22 (permalink)  
Antiguo 29/11/2013, 06:42
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Mira hoy aprendí algo nuevo, por eso esta bueno esto de participar.

Yo jamás hice un insert de esa forma, siempre antes del values le agregaba los campos.

Pero lo probe en mysql y funciona bien así.

Hace esto y con eso seguro que se soluciona y te vas a dar cuenta del error.

Previamente el mysql_query hace lo que hiciste antes, poner die(Y tu consulta),

Y pega eso en mysql y te ahí te va a dar un error, si el problema esta ahí.

Espero que te sirva amigo

Saludos
  #23 (permalink)  
Antiguo 29/11/2013, 06:46
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

Vale, acabo de hacer lo siguiente he modificado el script de esta forma poniendo como dices los campos te lo pego aqui:

Código PHP:
<?php

$tabla 
"wordpress"
$servidor "localhost"
$usuario "root"
$clave ""
set_time_limit(0); 
mysql_select_db($tabla,mysql_connect($servidor,$usuario,$clave)) or die("Error de conexión con la base de datos."); 
$consulta mysql_query("Select sid, title, time, hometext, bodytext from nuke_stories"); 
while(
$fila=mysql_fetch_array($consulta)){ 
$sid "'" $fila['sid'] . "'"
$title "'" $fila['title'] . "'"
$time "'" $fila['time'] . "'"
$hometext "'" $fila['hometext'] . "'"
$body "'" $fila['bodytext'] . "'"

echo
"$body"
echo 
"<p>ID $sid fecha: $time noticia: $title</p>"
 
$sqlinsert="INSERT INTO wp_posts 
(ID, post_author, post_date, post_date_gmt, post_content, post_title, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, post_mime_type, comment_count)
VALUES ($sid, '1', $time, $time, $hometext, $title,'', 'publish', 'open', 'open', '','','','', $time, $time,'', '0','', '0', 'post','', '0')"
;  
mysql_query ($sqlinsert
OR die(
mysql_error() ); 
}
?>
Bueno pues al final el error que me acaba mostrando es el siguiente;

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 'puesto en la accidentada carrera de Mieres le ha dado fuerza , habra que observa' at line 3

El mismo creo;
  #24 (permalink)  
Antiguo 29/11/2013, 06:48
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Hace esto,

Código PHP:
Ver original
  1. <?php
  2.  
  3. $tabla = "wordpress";
  4. $servidor = "localhost";
  5. $usuario = "root";
  6. $clave = "";
  7. mysql_select_db($tabla,mysql_connect($servidor,$usuario,$clave)) or die("Error de conexión con la base de datos.");
  8. $consulta = mysql_query("Select sid, title, time, hometext, bodytext from nuke_stories");
  9. while($fila=mysql_fetch_array($consulta)){
  10. $sid = "'" . $fila['sid'] . "'";
  11. $title = "'" . $fila['title'] . "'";
  12. $time = "'" . $fila['time'] . "'";
  13. $hometext = "'" . $fila['hometext'] . "'";
  14. $body = "'" . $fila['bodytext'] . "'";
  15.  
  16. echo"$body";
  17. echo "<p>ID $sid fecha: $time noticia: $title</p>";
  18.  
  19. $sqlinsert="INSERT INTO wp_posts
  20. (ID, post_author, post_date, post_date_gmt, post_content, post_title, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, post_mime_type, comment_count)
  21. VALUES ($sid, '1', $time, $time, $hometext, $title,'', 'publish', 'open', 'open', '','','','', $time, $time,'', '0','', '0', 'post','', '0')";  
  22.  
  23. die($sqlinsert);
  24.  
  25. mysql_query ($sqlinsert)
  26. OR die(mysql_error() );
  27. }
  28. ?>

Ese te va a devolver el insert y eso pegalo en mysql.

Te va a dar un error.

Ahí te vas a dar cuenta como solucionarlo.
  #25 (permalink)  
Antiguo 29/11/2013, 06:57
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

Me sale esto al ejecutarlo:

''
ID '380' fecha: '2007-01-06 21:33:10' noticia: 'Serpent estrena pagina'

INSERT INTO wp_posts (ID, post_author, post_date, post_date_gmt, post_content, post_title, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, post_mime_type, comment_count) VALUES ('380', '1', '2007-01-06 21:33:10', '2007-01-06 21:33:10', '
Como muchos sabéis Serpent anunciaba sus productos sus resultados y sus comunicados a través de la pagina mytsn.com, dicha pagina hace unos días puso un comunicado que cerraría para dar paso a serpent.com, y ahora la Web de Serpent es la pagina donde ponen todas las novedades que había en la famosa TSN, es una pagina que un nuevo diseño bastante parecido al otro y esta bastante chula para visitarla podéis hacerlo en la siguiente dirección:

http://www.serpent.com

', 'Serpent estrena pagina','', 'publish', 'open', 'open', '','','','', '2007-01-06 21:33:10', '2007-01-06 21:33:10','', '0','', '0', 'post','', '0')

si lo inserto en phpmyadmin se inserta correctamente, entonces donde esta el fallo?
  #26 (permalink)  
Antiguo 29/11/2013, 07:11
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Justo ese no tiene error por que el body no tiene la comilla simple, proba de poner echo en lugar de die como te dije. Y el último va a ser el que tiene error, ese pega en mysql.

Me explico la idea?.

Por lo que me contaste algunos inserta y otros no, obtene alguno de los que no se inserten y pegalo en mysql.

Saludos
  #27 (permalink)  
Antiguo 29/11/2013, 07:15
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

Vale, ya lo hice y pegue el insert que falla en phpmyadmin y da este error pero ni idea de porque es :

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 'puesto en la accidentada carrera de Mieres le ha dado fuerza , habra que observa' at line 1


Y el insert que pego es el siguiente :

Código PHP:
INSERT INTO wp_posts (IDpost_authorpost_datepost_date_gmtpost_contentpost_titlepost_excerptpost_statuscomment_statusping_statuspost_passwordpost_nameto_pingpingedpost_modifiedpost_modified_gmtpost_content_filteredpost_parentguidmenu_orderpost_typepost_mime_typecomment_countVALUES ('112''1''2004-08-01 22:17:42''2004-08-01 22:17:42''En una noche muy festiva y en ambiente de camaderia se celebro la carrera nocturna de todos los años puntuable para el campeonato regional 1/5 y electricos despues de un pincheo se empezaron las clasificatorias y hacia la 1 de la mañana se celebro la final con la reaparicion del piloto local Pablo Menendez despues de casi un año sin participar en estas pruebas, esperamos que el resultado de la carrera y el buen hacer de este piloto le siga dando fuerzas para continuar.
El resultado de la carrera quedo de la siguente manera : 
como ya viene siendo mas que habitual 
1º Adrian Viña
Con una reaparicion en las pistas y como era de esperar en los resultados
2º Pablo Menendez
Y con un resultado que esperemos se siga repitiendo en los puestos de cabeza despues de una temporada llena de problemas ,parece que ser que despues del un 2' 
puesto en la accidentada carrera de Mieres le ha dado fuerza habra que observar la evolucion de este piloto en lo que queda de campeonato y eventeos.
3' Jose Arias.

'
'Resultado carrera regional nocturna 1/5','''publish''open''open''','','','''2004-08-01 22:17:42''2004-08-01 22:17:42','''0','''0''post','''0'
  #28 (permalink)  
Antiguo 29/11/2013, 07:21
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Claro, perfecto ya nos aseguramos el error.

El problema es como te dije antes. Se corta por que en el texto del tenes caracteres especiales.

Fíjate como utiliza la función mysql_real_escape_string.

Acá tenes un ejemplo:
http://www.php.net/manual/es/functio...ape-string.php

El problema esta en $hometext

Proba eso y contame que tal.
  #29 (permalink)  
Antiguo 29/11/2013, 07:26
 
Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Script Insert

Bueno creo que lo que tengo que hacer es esto:

En el
$hometext = "'" . $fila['hometext'] . "'";

Deberia de dejarlo:
$hometext = "'" .mysql_real_escape_string($fila['hometext']) . "'";

y probar a ejecurlo asi no? lo he entendido bien?
  #30 (permalink)  
Antiguo 29/11/2013, 07:30
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Script Insert

Perfecto!.

Proba eso y decime que tal ahora, supuestamente te tendría que armar bien el campo para insertar.

Etiquetas: insert, migración, nuke
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 18:57.