Estoy haciendo un pequeño backoffice o gestor de contenidos y me he encontrado una situación desconcertante. Me bajo un texto guardado en una BD MySQL a traves de la pertinente combinación PHP y loadVars de Actionscript sin ningun problema. El texto que muestro en pantalla tiene una longitud de 3097 caracteres. El problema viene cuando le hago algún cambio (o sin hacer alguno) y lo quiero guardar de nuevo en la base de datos, que no lo hace. Probando, depurando ... he llegado a que parece haber una limitación con la longitud del texto que envio hacia el PHP para guardar en el MySQL. Si el texto tiene más de 1275 caracteres da error y no lo guarda. El codigo Actionscript es...
Código :
var GuardaTexto:LoadVars = new LoadVars(); ... on(release){ txtAcceso.text=""; GuardaTexto.VALOR=txtEdicion.text; GuardaTexto.NOMBRE_CAMPO=PanelesArray[lstPaneles.selectedItem.data][3]; GuardaTexto.ORDEN=ORDEN; GuardaTexto.sendAndLoad("http://www.mivueb.com/php/GuardarVALOR.php",GuardaTexto, "GET"); } ... GuardaTexto.onLoad=function (exito){ if (exito){ txtAcceso.text=this["estado"]; }else{ txtAcceso.text="ERROR EN EL SCRIPT PHP"; } }
Donde el txtEdicion.text es textArea que contiene el texto grande.
y el PHP...
Código :
include ("includes/config.php"); include ("includes/funciones.php"); //nos conectamos a mysql $cnx = conectar (); //Montamos la SQL $VALOR=$_GET['VALOR']; $VALOR=htmlentities(addslashes($VALOR)); $NOMBRE_CAMPO = $_GET['NOMBRE_CAMPO']; $ORDEN = $_GET['ORDEN']; $paramSQL = "UPDATE TEXTOS SET VALOR = '".$VALOR."' WHERE NOMBRE_CAMPO = '".$NOMBRE_CAMPO."' AND ORDEN = ".$ORDEN.";"; $res = mysql_query($paramSQL); if (mysql_errno()) { $estado = "estado=Error MySQL ".mysql_errno().": ".substr(mysql_error(),0,40)."..."; }else{ $estado = "estado=".substr($paramSQL,0,13)." REALIZADO CON EXITO"; } echo $estado; mysql_close(cnx); ?>
¿Es un problema de limitación de de longitud de texto para subir ó es algo que se me escapa?