function sql_connect() {
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
if (!$link) {
die('Ошибка подключения (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
} else {
global $link;
}
}
global
сработает вне зависимости от выполнения условия. Если очень хочется именно по условию, разместите строку с global в отдельном файле и включаейте его по условию:if( $link) {
include("my_global.php");
}
if( ...){
$this->link = $_link;
}
$link=null; //к примеру
function sql_connect() {
global $link; //делаем в функции видимой глобальную переменную
//т.к. теперь $link - это переменная вне функции, то результат подключения записываем в локальную переменную
$local_link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
if (!$local_link) {
die('Ошибка подключения (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
} else {
//если всё получилось - передаем значение глобальной перемнной
$link=$local_link;
}
}