Mieszasz styl obiektowy i proceduralny interfejsu API mysqli :
Używasz zorientowanego obiektowo :
$result = new mysqli('localhost', 'user', 'password', 'db');
A potem procedura :
echo "Error with MySQL Query: ".mysqli_error();
Powinieneś użyć OO lub proceduralnego -- ale nie obu; a jeśli wybierzesz procedurę, funkcje oczekują identyfikatora łącza przekazanego jako parametr.
Na przykład mysqli_error
powinien być wywoływany za pomocą zorientowanego obiektowo API :
$link = new mysqli(...);
echo $link->error;
Lub proceduralny interfejs API :
$link = mysqli_connect(...);
echo mysqli_error($link);
(Oczywiście nie zmieni to faktu, że masz błąd w zapytaniu SQL, ale umożliwi wyświetlenie komunikatu o błędzie, co powinno pomóc w ustaleniu przyczyny tego błędu)