He descubierto que el NOT LIKE funciona perfectamente con el OR.
Código PHP:
$query = mysql_query("SELECT joyas.ID,Nombre,Precio,Peso,Quilates,Sexo,Estado,Estante,Marca,Material,FechaEntrada,Descripcion,FechaSalida FROM joyas,marcas,estantes,estados,sexos,materiales WHERE
Nombre NOT LIKE '%".$nombre."%'
AND joyas.idMarca=marcas.ID
AND joyas.idEstante=estantes.ID
AND joyas.idEstado=estados.ID
AND joyas.idSexo=sexos.ID
AND joyas.idMaterial=materiales.ID
OR joyas.ID='".$id."'
AND joyas.idMarca=marcas.ID
AND joyas.idEstante=estantes.ID
AND joyas.idEstado=estados.ID
AND joyas.idSexo=sexos.ID
AND joyas.idMaterial=materiales.ID
ORDER BY joyas.ID ASC",$connect);
Estos dos si funcionan, si pongo datos en el campo id y nada en NOT LIKE, funciona, si pongo solo en NOT LIKE funciona. Osea FUNCIONA!
¿POR QUE NO FUNCIONA LIKE?!!!! DIOS!!!