Как получить имена столбцов таблицы базы данных, используя implode в php - PullRequest
0 голосов
/ 20 мая 2019

Я хочу получить список столбцов, а не строк в implode, но это дает мне ошибку, но дает мне результат строки, когда я использую индексный номер массива.

<?php
// this is the database connection
$session_id = session_start();
$con = mysqli_connect("localhost", "root", "", "ecommerce");
?>
    <!DOCTYPE html>
    <html>
    <head>
        <title>array</title>
    </head>
    <body>
<?php
$sql_select = "SELECT * FROM cart";
$run_select = mysqli_query($con, $sql_select);
$datas = [];
if(mysqli_num_rows($run_select) > 0) {

    while($show = mysqli_fetch_assoc($run_select)) {

        $id[] = $show;
    }
}

$avengers = implode(",", $id['1']);
// i want to echo out the columns this is giving me the rows
echo $avengers;

1 Ответ

0 голосов
/ 20 мая 2019
while ($show = mysqli_fetch_assoc($run_select)) {

      $id[] = $show;
     }

$avengers = array_column($id, 'COLUMN_NAME');

print_r($avengers);

Это возвращает простой массив имен столбцов / имен переменных в вашей таблице или массиве в виде строк, и это то, что мне нужно для динамического построения запросов MySQL.

Пояснение: -

<?php
// An array that represents a possible record set returned from a database
$a = array(
  array(
    'id' => 5698,
    'first_name' => 'Peter',
    'last_name' => 'Griffin',
  ),
  array(
    'id' => 4767,
    'first_name' => 'Ben',
    'last_name' => 'Smith',
  ),
  array(
    'id' => 3809,
    'first_name' => 'Joe',
    'last_name' => 'Doe',
  )
);

$last_names = array_column($a, 'last_name');
print_r($last_names);
?>

Выход:

Array
(
  [0] => Griffin
  [1] => Smith
  [2] => Doe
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...