https://coursehunter.net/course/prakticheskiy-php function select($conn){ $sql = "SELECT name, cost FROM goods"; $result = mysqli_query($conn, $sql); $a = array(); if (mysqli_num_rows($result)>0){ while($row = mysqli_fetch_assoc($result)) { array_push($a, $row); } } return $a; } Почему в данной функции надо в аргументы передавать идентификатор соединения $conn, да я новичок
потому что так надо, новичок. потому что это соединение надо потом подставить в mysqli_query($conn, ...) ! так понятно? значение откуда-то должно быть известно в этом месте. смотри: https://www.php.net/manual/ru/language.variables.scope
ну так https://www.php.net/manual/ru/mysqli.query.php же )) mysqli_query ( mysqli $link , string $query ) как минимум два параметра требует link - Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init() query - Текст запроса вот ты их и передал: PHP: $result = mysqli_query($conn, $sql); а чтобы $conn стала доступна внутри функции, ты передал ей $conn как аргумент PHP: function select($conn){ и теперь $conn можно использовать внутри функции. Например: тебе нужно дать жене 10 тысяч рублей. Но ты не можешь ей дать 10.000 рублей, пока тебе не дадут их на работе. Да? Вот здесь то же самое: ты даешь функции select() "Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()" ($conn) а она (функция select()) передает его дальше(своей жене) в функцию mysqli_query() как-то так это и работает