Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/12/2015, 08:35
jonyjdv
 
Fecha de Ingreso: julio-2014
Mensajes: 115
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: Problema con real_escape_string y funcion

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Y por qué no usas el método prepare() si hace efectivamente lo que buscas?

Por favor consulta el manual: http://php.net/manual/es/mysqli.quic...statements.php
hola gracias por responder, creo que seria una buena forma pero no consigo hacer funcionar el codigo tengo lo siguiente.

Código PHP:
    function eliminar_nuevos_datos($conexion$consulta$escapar_datos){
        
        
// Create connection
        
require($_SERVER['DOCUMENT_ROOT'].$conexion);
        
        
$SQL_insert = new mysqli($db_host$db_user$db_pass$db_name);


        
//Si se quiere escapar los datos
        
if($escapar_datos!=false){

            if (
$stmt $SQL_insert->prepare($consulta)) {

                
/* bind parameters for markers */
                
$stmt->bind_param($escapar_datos[0], $escapar_datos[1]);

                
/* execute query */
                
$stmt->execute();

                
/* close statement */
                
$stmt->close();
            }

        }
mysqli_close($SQL_insert);

y me da como respuesta:

Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in ...

en $consulta la variable contiene:
Código PHP:
$consulta='UPDATE `cuento` SET `visitas`=`visitas`+1 WHERE  WHERE `id_user`=? AND `id_opinion`=?'
Queria hacer que funcionase y luego implementar la linea para escapar los caracteress especiales.

Gracias

[EDITO]
He indagado un poco y descubri que poniendo dos "s" ya no me daba error asi de esta forma:
Código PHP:
$stmt->bind_param("ss"$escapar_datos[0], $escapar_datos[1]); 
Eso es porque son variables string, pero si quiero substituir $escapar_datos[0], $escapar_datos[1] por solo $escapar_datos y que opere como si fuera $escapar_datos[0], $escapar_datos[1] ¿tendria que poner "ss"?

Saludos

Última edición por jonyjdv; 18/12/2015 a las 08:51