@iSensetivity
бухгалтер, програміст-самоук

Почему скрипт не видит подключение к базе?

Вообшем есть файл с подклчение к БД и скрипт, которьій его использует.
<?php
include_once('connect.php');
function get_data($uid){
		if ($result = $mysqli->prepare("SELECT * FROM `test_db_vytrat` as t left join test_db_vytraty_cat c on t.cat=c.cid where t.user_id = ?;"))
		{
			//$uid = 1;
			$result->bind_param("i", $uid);
			$result->execute();
			$resultSet = $result->get_result();
			$row = $resultSet->fetch_all();
			//$row = $result->fetch_array(MYSQLI_ASSOC);
			var_dump($row);
		}
	}

get_data(1);
?>


По когда код находится в функции то возникает ошибка: Undefined variable: mysqli in
Когда же убрать функию то код работает.

Почему так?
  • Вопрос задан
  • 2355 просмотров
Решения вопроса 2
BuriK666
@BuriK666
Компьютерный псих
function get_data($uid) {
  global $mysqli;
   .....
}

Почему так
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Самый популярный вопрос на тостере. Причем именно в под тегом mysqli, хотя казалось бы - при чем тут БД.

Специально для несчастных мигрантов с mysql_query: статический PDO wrapper

<?php
include_once('connect.php');
function get_data($uid)
{
    $sql = "SELECT * FROM test_db_vytrat t 
           LEFT JOIN test_db_vytraty_cat c ON t.cat=c.cid 
           WHERE t.user_id = ?";
    return DB::prepare($sql)
        ->execute([$uid])
#        ->fetch()
        ->fetchAll()
    ;
}
$data = get_data(1);
var_dump($data);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы