Foros del Web » Programando para Internet » PHP »

Insertar noticias en Catalan en una Tabla

Estas en el tema de Insertar noticias en Catalan en una Tabla en el foro de PHP en Foros del Web. Hola a todos, una pregunta, estoy haciendo una rutina de noticias pero el idioma de las noticias son en catalan , pero cuando quiero insertar ...
  #1 (permalink)  
Antiguo 10/12/2004, 12:53
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Insertar noticias en Catalan en una Tabla

Hola a todos, una pregunta, estoy haciendo una rutina de noticias pero el idioma de las noticias son en catalan , pero cuando quiero insertar en la BD no me permite grabar, pero antes de grabarlo hago un echo a las variables que quiero grabar en la BD y me lo muestra tal y conforme lo ingrese.
Pero cuando hago insert into (.....) no me los graba.

Estuve viendo las faqs y vi uno que era por los apostrofes. como podri resolver este prOblema.

GRACIAS Y SALUDOS A TODOS
  #2 (permalink)  
Antiguo 10/12/2004, 13:57
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola JuanKa

Antes de insertar los datos en la base, usa la función addslashes

$texto="t'aluego";
$texto=addslashes($texto);

Más información en http://es2.php.net/manual/es/function.addslashes.php

Espero que te sirva. Saludos,

Última edición por JavierB; 10/12/2004 a las 14:03
  #3 (permalink)  
Antiguo 10/12/2004, 13:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si indicases el código que usas sería lo ideal.

En principio... tendrías que usar INSERT tipo:

Código PHP:
$sql="INSERT INTO tabla (campo,campo2) VALUES ('','".mysql_escape_string($_POST['dato'])."'"); 
mysql_escape_string() equivaldría a usar: stripslashes()

Un saludo,
  #4 (permalink)  
Antiguo 10/12/2004, 14:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

Me he adelantado al maestro por un poco y, logicamente, su respuesta mejora la mía. Pero, aunque solo sea por pinchar, creo que tiene un errocillo en su código: el último paréntesis debería ir dentro de las comillas
Código PHP:
.mysql_escape_string($_POST['dato'])."')"
Saludos,
  #5 (permalink)  
Antiguo 11/12/2004, 03:16
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
He colocado lo que me dijeron y aun no me inserta en la tabla posteo el codigo que uso.
Esto de los recibo de un form anterior.

include ("config.php");
// si en el contenido del texto conteniendo un salto de pagina uso la ereg_replace()

$descri1=$_POST['text_des1'];

$descri2=$_POST['text_des2'];
$descri2 = ereg_replace("\r\n","<br>",$descri2);


$descri3=$_POST['text_des3'];
$descri3 = ereg_replace("\r\n","<br>",$descri3);



echo $descri1."<br>"."<br>";
echo $descri2."<br>"."<br>";
echo $descri3."<br>"."<br>";
//visualizo los contenidos de las variables y me salen tal y como los ingrese y estan ok.

mysql_query("INSERT INTO noticias (desc1_noti,desc2_noti,desc3_noti,) VALUES ('".mysql_escape_string($descri1)."','".mysql_escape_string($descri2)."','".mysql_escape_string($descri3)."')", $conectar);


CREATE TABLE noticias (
id INT(4) NOT NULL AUTO_INCREMENT,
desc1_noti varchar(250) not null,
desc2_noti text NOT NULL,
desc3_noti text NOT NULL,
primary key (id));

Que Puede estar pasando

Gracias y Saludos a todos
  #6 (permalink)  
Antiguo 11/12/2004, 03:54
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Resolvi el problema era lo siguiente; como decia
JavierB

y me registro correctamente en la BD.

include ("config.php");
// si en el contenido del texto conteniendo un salto de pagina uso la ereg_replace()

$descri1=$_POST['text_des1'];

$descri2=$_POST['text_des2'];
$descri2 = ereg_replace("\r\n","<br>",$descri2);

$descri3=$_POST['text_des3'];
$descri3 = ereg_replace("\r\n","<br>",$descri3);

$descri1=addslashes($descri1);
$descri2=addslashes($descri2);
$descri3=addslashes($descri3);


mysql_query("INSERT INTO noticias (desc1_noti,desc2_noti,desc3_noti,) VALUES ('$descri1',$descri2','$descri3')", $conectar);


GRACIAS y Saludos a Todos
  #7 (permalink)  
Antiguo 11/12/2004, 04:27
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

Me alegro de que lo hayas solucionado, pero me sorprende que no te haya funcionado con mysql_escape_string. Yo lo probé cuando ví el mensaje de Cluster y añadió bien los datos a la base

Lo que no en entiendo es

Cita:
Iniciado por Cluster
mysql_escape_string() equivaldría a usar: stripslashes()
Saludos,
  #8 (permalink)  
Antiguo 11/12/2004, 04:45
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Por lo que veo en el manual, mysql_escape_string() esta en desuso y recomiendan mysql_real_escape_string().

Juanka, cuando te falle una consulta, usa mysql_error() para ver el mensaje de error que devuelve MySQL. Incluso te recomendaria que creases la consulta en una variable ($sql="INSERT ....";) para poder mostrarla junto al mensaje de error de MySQL.
Cita:
Iniciado por JavierB
Lo que no en entiendo es
Cita:
Originalmente Escrito por Cluster
mysql_escape_string() equivaldría a usar: stripslashes()
Imagino que sera una equivocacion, un lapsus, un bug, una errata o algo parecido en vbulletin

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 11/12/2004, 04:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Cita:
Imagino que sera una equivocacion, un lapsus, un bug, una errata o algo parecido en vbulletin
Me lo temía. A mí el vbulletin me produce errores de estos continuamente. Voy a ponerme en contacto con Christian a ver si lo soluciona.

Gracias. Saludos,
  #10 (permalink)  
Antiguo 13/12/2004, 06:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Por lo que veo en el manual, mysql_escape_string() esta en desuso y recomiendan mysql_real_escape_string().
Ops! .. pues tocará ir cambiando.

Un saludo,
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 05:09.