Foros del Web » Programando para Internet » PHP »

almacenar el caracter "%" en una base de datos

Estas en el tema de almacenar el caracter "%" en una base de datos en el foro de PHP en Foros del Web. Hola, tengo el siguiente problema: Intento guardar una serie de datos (nombre, tipo, etc) que paso desde una aplicación flash, en una base de datos. ...
  #1 (permalink)  
Antiguo 19/05/2009, 04:45
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 14 años, 11 meses
Puntos: 0
almacenar el caracter "%" en una base de datos

Hola, tengo el siguiente problema:

Intento guardar una serie de datos (nombre, tipo, etc) que paso desde una aplicación flash, en una base de datos. Hasta ahí todo bien, pero cuando esos datos contienen el caracter %, éste me desbarajusta todo...

Tiene que ser algo muy sencillo, pero no controlo mucho de php.

Ahí va el código que uso, las variables se las paso desde una aplicación flash.

Código PHP:
<?php

$user 
utf8_decode($_POST["user"]);
$pass utf8_decode($_POST["pass"]);

$id utf8_decode($_POST["id"]);
$nombre utf8_decode($_POST["nombre"]);
$tipo utf8_decode($_POST["tipo"]);
$img utf8_decode($_POST["img"]);
$descripcion utf8_decode($_POST["descripcion"]);
$categoriaId utf8_decode($_POST["categoriaId"]);

include(
"localconex.php");
include(
"checkLogIn.php");
$conexion=Conectarse();

if (
logIn($user,$pass)){
    
mysql_db_query("dbName","UPDATE producto SET nombre = '$nombre', tipo = '$tipo', img = '$img', descripcion = '$descripcion', categoriaId = '$categoriaId' WHERE prodId = $id");
    
mysql_close($conexion);
    
    
$respuesta='&resultado=OK&mensaje=Producto actualizado: '.$nombre;
    print 
utf8_encode($respuesta)."&";
}else{
    
$respuesta='&resultado=ERROR&mensaje=login incorrecto';
    print 
utf8_encode($respuesta)."&";
}
?>
Muchas gracias

Última edición por regscumm; 19/05/2009 a las 05:04
  #2 (permalink)  
Antiguo 19/05/2009, 06:41
 
Fecha de Ingreso: febrero-2009
Mensajes: 48
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: almacenar el caracter "%" en una base de datos

Hola, creo que deberias poner el código de esos includes, por ejemplo la función logIn para ver exactamente que valores le pasas, aun asi mi consejo es que recorras los campos y vayas quitando ese % y guardes la demás parte de la cadena donde te interesa. Aunque seguro que alguien mas experimentado que yo, puede decirte algo mas concreto (llevo poco en php).

Saludos.
  #3 (permalink)  
Antiguo 19/05/2009, 09:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 14 años, 11 meses
Puntos: 0
Hola Nemesito, no tengo ningún problema con los códigos de los includes, el login y la conexión a la db lo hace correctamente, el Update del producto también, lo único que al intentar guardar caracteres especiales como el % o & con el mysql_db_query no lo hace correctamente. Intuyo que tendrá algo que ver con el formato de texto. Por eso no creo que incluir el código de los includes ayude...

Gracias por contestar

Bueno, pues he podido solucionarlo, no sé si de una forma elegante o no, pero por lo menos funciona.

Por si a alguien le sirve de algo aquí va la sentencia que he modificado

Código PHP:
mysql_db_query("dbName",utf8_encode("UPDATE producto SET nombre = '$nombre', tipo = '$tipo', img = '$img', descripcion = '$descripcion', categoriaId = '$categoriaId' WHERE prodId = $id")); 

Última edición por GatorV; 19/05/2009 a las 12:35
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 01:36.