Está mezclando los estilos orientados a objetos y procedimentales de la API mysqli:
Está utilizando orientado a objetos:
$result = new mysqli('localhost', 'user', 'password', 'db');
Y, luego, procedimental :
echo "Error with MySQL Query: ".mysqli_error();
Debe utilizar OO o procedimental, pero no ambos; y si elige procedimental, las funciones esperan que el identificador de enlace se pase como parámetro.
Por ejemplo, mysqli_error
debe llamarse utilizando la API orientada a objetos:
$link = new mysqli(...);
echo $link->error;
O la API de procedimiento:
$link = mysqli_connect(...);
echo mysqli_error($link);
(Por supuesto, no cambiará el hecho de que tiene un error en su consulta SQL, pero le permitirá obtener el mensaje de error, lo que debería ayudar a encontrar la causa de ese error)