mysqli_error () espera exatamente 1 parâmetro, 0 dado

Estou tentando entender meu mysql. Alguém pode me dizer por que essa consulta mysql não está funcionando? Eu estou recebendo o seguinte erro:

Aviso: mysqli_error () espera exatamente 1 parâmetro, 0 fornecido em /home/freebet2/public_html/test.php na linha 11

test.php

<?php
        require_once($_SERVER['DOCUMENT_ROOT'].'/includes/db.php');
        $conn = db_connect();
        $result = $conn->query("ALTER TABLE users ADD COLUMN refer_old INT(10) AFTER refer_id");

              if(!$result){
                 echo "Error with MySQL Query: ".mysqli_error();
             }
        ?>

db.php

 <?php

    function db_connect() {
       $result = new mysqli('localhost', 'user', 'password', 'db');
       if (!$result) {
         throw new Exception('Could not connect to database server');
       } else {
         return $result;
       }
    }

    ?>

Se eu alterar a string alter para algo como:$result = $conn->query("SELECT * FROM users refer_id"); Não recebo nenhum erro por algum motivo.

questionAnswers(3)

yourAnswerToTheQuestion