Pregunta

está siendo ignorada Mi mysql_real_escape_string. Me está matando, porque siento que es algo pequeño que me falta.

La variable $ htmlText proviene de un editor TinyMCE donde el texto se representa como HTML es decir, con las etiquetas, etc.

<?php 
    /*--------GLOBAL PROCEDURES--------*/
    session_start();
    require "../scr/config-data.php.inc";
    mysql_connect($host,$username,$password) or die 
    ("Could Not Connect".mysql_error());
    mysql_select_db($db) or die ("Could Not Connect".mysql_error());

    /*-----SEVERAL SELECT/INSERT QUERIES, ALL WORKING FINE-----*/

    /*--------SPECIFIC PROCEDURES-------*/      
    if($_POST['submit']){
        //Check that POS has been chosen
        $htmlText = mysql_real_escape_string($_POST['cust']);
        if($htmlText != ""){
            mysql_query("INSERT INTO table VALUES(NULL, '$htmlText' )") or die(mysql_error());
        }else{
            $feedback = "Please Enter some text into the editor";
        }
    }

    /*--------CLOSING PROCEDURES-------*/
    mysql_close();

?>

Lo extraño es, que ha sido adaptado a partir de un guión que funciona, cambiando solamente los nombres de las variables. Recibo un error en la sintaxis de MySQL. Tampoco está escapando el código HTML en el texto, así que estoy recibiendo este 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 'order VALUES(NULL, '

sfgafgafs

')' at line 1
¿Fue útil?

Solución

A partir del mensaje de error dado por la que parece que se está utilizando order como el nombre de la tabla que pasa a ser un MySQL palabra reservada .

Trate encerrándolo en las garrapatas de la espalda.

Otros consejos

mysql_real_escape_string no se escape nada de HTML. Sólo se escapa \ x00 \ n \ r, \,', "y \ X1A.

El nombre de su tabla no debe ser "orden", porque es una palabra especial de SQL. Usted debe cambiar su nombre o asegúrese de que usted lo pone entre comillas sencillas.

Yo también creen que la razón se debe al nombre de la tabla es el 'orden', como MySQL lo toma como que está intentando utilizar la cláusula de orden en una consulta de inserción, cambiar el nombre de la tabla a otra cosa ..

Parece que tu falta el identificador de enlace?

string mysql_real_escape_string (string $ cadena_no_escapada [, resource $ id_enlace])

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top