$link = mysqli_connect($host, $user, $hash, $bd) or die(mysqli_error($link));
То что вы пишите, это не рабочий код. В случае ошибки вы опять провоцируете ошибку, поэтому в режиме отладке работает, так как не прерывается и продолжает выполнение. Код выполняется справа и при какой-то ошибки соединения переменная $link, котороя не иницилизированная, передается в mysqli_error.
<?php
// определяете переменные $host, $user, $pwd, $bd
$link = mysqli_connect($host, $user, $pwd, $bd);
if (!$link) {
die('Ошибка подключения (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}