1) Проверьте относительные пути для ваших включений.
2) То, что в документации PHP написано, что вы можете использовать require_once
без скобок, не означает, что вы должны это делать. Оставайтесь последовательными, используйте require_once("file.php");
.
3) Будьте согласны с фигурными скобками в вашей функции. Вам не хватает одного или двух там. Я хотел бы знать, переписываете ли вы свою функцию следующим образом, если она работает:
function db_connect() {
global $dbhost, $dbuser, $dbpass, $dbname, $MYSQL_ERRNO, $MYSQL_ERROR;
$link_id = mysql_connect($dbhost, $dbuser, $dbpass);
if ($link_id === false) {
$MYSQL_ERRNO = 0;
$MYSQL_ERROR = "Connection failed to $dbhost.";
return 0;
} elseif (mysql_select_db($dbname) === false) {
$MYSQL_ERRNO = mysql_errno();
$MYSQL_ERROR = mysql_error();
return 0;
} else {
return $link_id;
}
}
И помните, проверка журналов ошибок веб-сервера обычно помогает.
Изменить:
Согласно комментариям к этому ответу, вы не включаете файл, которым вы себя считаете. Используйте абсолютный путь для включения, чтобы вы были на 100% уверены в том, что файл включен.