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