He estado mirando unas cuantas paginas de google y alguna que otra de este mismo foro, probando varios métodos, pero no funcionan :(
Mi problema es el siguiente, quiero comparar 2 tablas y saber si un campo existe en la otra y viceversa
Hago consulta a la tabla1 recibiendo muchas películas, una de ellas se llama "Juan & Lola: un titulo inventado"
y quiero comprobar si "Juan & Lola: un romance inventado" existe en la tabla2
El problema viene cuando llega a una película que contiene
&, no hace bien la consulta ya que la película si que existe en las 2 tablas y debería devolverme que si que coincide, pero al contener & no lo hace :S, Con los acentos y comillas no hay problema :S
Código PHP:
$sqlx = "SELECT * FROM tabla1";
$rsx = mysql_query($sqlx) or die(exit("fallo"));
while($rowx=mysql_fetch_array($rsx)){
$id = $rowx['id'];
$pelicula = $rowx['pelicula'];
$pelicula = trim($pelicula);
$pelicula = stripslashes($pelicula);
$pelicula = htmlspecialchars($pelicula);
$pelicula = addslashes($pelicula);
/////////////// AQUI ESTA EL PROBLEMA
$consulta="SELECT * FROM tabla2 WHERE pelicula='$pelicula'";
$resultado=mysql_query($consulta) or die (mysql_error());
if (mysql_num_rows($resultado)>0)
{
echo $id;
echo '¡Existe en las 2 tablas! y el nombre es: ';
if ($row1 = mysql_fetch_array($resultado)){
echo "".$row1["pelicula"]."<br>"; }
} else {
echo $id;
echo ': No existe la película: ';
echo $pelicula;
echo 'En tabla2: ';
}
}
Necesito areglar esto, sin modificar/cambiar el nombre de la pelicula, no quiero pasarlo a
& o algo similar