No es un error sintáctico, es un error de lógica:
Si tu WHERE tiene dos condicionales, pero cualquiera que sea la válida, debe ser al mismo tiempo que el ID sea el indicado, entonces ambas condiciones se deben considerar como una sola:
Código MySQL:
Ver original (idUserWhoMake
=$idUserVisiting
OR idUserWhoReceive
=$idUserVisiting
) id=$idRow
de lo contrario, basta con que el primero de los parámetros sea TRUE para que los otros dos no sean considerados.
Como puedes ver, se trata del orden como se evalúan las condiciones. Este tipo de cosas pasa en todos los lenguajes, por eso se enseña en las clases de programación que los paréntesis en las condiciones permiten definir la forma de evaluarlas...