За последние 24 часа нас посетили 21994 программиста и 989 роботов. Сейчас ищут 680 программистов ...

Помогите понять почему в функции идет передача в аргументы...

Тема в разделе "PHP для новичков", создана пользователем victor_orlov, 1 ноя 2019.

Метки:
  1. victor_orlov

    victor_orlov Активный пользователь

    С нами с:
    16 июл 2019
    Сообщения:
    41
    Симпатии:
    0
    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, да я новичок
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    потому что так надо, новичок.

    потому что это соединение надо потом подставить в mysqli_query($conn, ...) ! так понятно? значение откуда-то должно быть известно в этом месте.

    смотри: https://www.php.net/manual/ru/language.variables.scope
     
  3. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    ну так https://www.php.net/manual/ru/mysqli.query.php же ))

    mysqli_query ( mysqli $link , string $query )

    как минимум два параметра требует

    link - Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

    query - Текст запроса

    вот ты их и передал:

    PHP:
    1. $result = mysqli_query($conn, $sql);
    а чтобы $conn стала доступна внутри функции, ты передал ей $conn как аргумент

    PHP:
    1. function select($conn){
    и теперь $conn можно использовать внутри функции.

    Например: тебе нужно дать жене 10 тысяч рублей. Но ты не можешь ей дать 10.000 рублей, пока тебе не дадут их на работе. Да?

    Вот здесь то же самое:

    ты даешь функции select() "Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()" ($conn)

    а она (функция select()) передает его дальше(своей жене) в функцию mysqli_query()

    как-то так это и работает
     
  4. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328