Массив возврата функции PHP - PullRequest
1 голос
/ 18 июня 2020

Я пытаюсь создать функцию, которая получает имя и клиента. Как правильно вернуть массив? так что я могу вернуть несколько значений.

function get_client_name($conn, $clientid){
  $response = array();
  $query = "SELECT NAME, CLIENTID FROM LCCLIENT WHERE CLIENTID = '". $clientid ."'";
  $sql = oci_parse($conn, $query);
  $exec = oci_execute($sql);

  if($exec){
      $row = oci_fetch_array($sql);
      $response[] = array(
          'CLIENTID' => trim($row['CLIENTID']),
          'NAME' => trim($row['NAME'])
      );
  }

  return json_encode($response);
}

echo get_client_name($conn, '2000000800')[0]['CLIENTID'];
echo get_client_name($conn, '2000000800')[0]['NAME'];

1 Ответ

0 голосов
/ 18 июня 2020

Вы просто возвращаете свой массив, не кодируя его в формате JSON. Также не вызывайте эту функцию два раза, потому что излишне дважды вызывать DB для одних и тех же данных. Во-вторых, вы не должны передавать $conn в этой функции. Вам следует разработать некоторую структуру для соединений с базой данных.

function get_client_name($conn, $clientid)
{
    $response = array();
    $query = "SELECT NAME, CLIENTID FROM LCCLIENT WHERE CLIENTID = '" . $clientid . "'";
    $sql = oci_parse($conn, $query);
    $exec = oci_execute($sql);

    if ($exec) {
        $row = oci_fetch_array($sql);
        $response[] = array(
            'CLIENTID' => trim($row['CLIENTID']),
            'NAME' => trim($row['NAME'])
        );
    }

    return $response;
}

$clientName = get_client_name($conn, '2000000800');

echo $clientName[0]['CLIENTID'];
echo $clientName[0]['NAME'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...