Пэлт
PHP:
$other = mysqli_fetch_assoc(mysqli_query($link, «SELECT * FROM `peoples` WHERE `id` = ‘».$id.«‘ LIMIT 1»));в коде просто сработает,
а если…PHP:
function get_people($id){ $other = mysqli_fetch_assoc(mysqli_query($link, «SELECT * FROM `peoples` WHERE `id` = ‘».$id.«‘ LIMIT 1»)); return $other[‘login’]; //$link = это подключение к базе данных. Почему в функции эта переменная не видна? Эта переменная определена вроде в том же файле, где функция распологается }
alexphp
А какую ошибку выдаёт?
Можно предположить, что PHP не видит переменную $link внутри функции, так как она глобальная. PHP так устроен, что в функциях он видит только локальные переменные. А чтобы увидел глобальную, нужно внутри функции дать ему знать, что переменная глобальная с ключевым словом global. Например:PHP:
<?php $link = 200; function get_people($id) { $other = 100 + $id; return ($link + $other); // line 8 } function get_people2($id) { global $link; $other = 100 + $id; return ($link + $other); } echo get_people(5).«</br>»; echo get_people2(5).«</br>»; /* Вывод: Notice: Undefined variable: link on line 8 105 305 */
ADSoft
либо передавать в функцию переменную как параметр
либо использовать ООП и методы, свойства объекта итд итп
Пэлт
понял. спасибо за помощь!