如何在 php 中使用 implode 获取数据库表的列名
Posted
技术标签:
【中文标题】如何在 php 中使用 implode 获取数据库表的列名【英文标题】:How to get the column names of a database table using implode in php 【发布时间】:2019-10-06 08:32:03 【问题描述】:我想获取列列表而不是 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;
【问题讨论】:
你能分享一些你目前得到的输出/错误吗?$avengers = implode(",", array_column($id, 'name'));
"Columns" 在这里有点模棱两可。调用 $rows
$id
无济于事,其中 id 表示它是一个整数值。我会考虑使用更具描述性的变量名。
非常感谢,您的建议解决了我的问题
【参考方案1】:
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
)
【讨论】:
以上是关于如何在 php 中使用 implode 获取数据库表的列名的主要内容,如果未能解决你的问题,请参考以下文章
php 如何取二维数组中某个值,并组合成另一个一维数组进行implode
PHP implode 爆炸逗号分隔值用于 if else 语句