PHP 从 mysql 中选择列标题名称

标签 php mysql

我有以下 PHP 5.4 脚本,它从 MySQL 5.7 中选择,并且工作正常。

<?php
$link = new mysqli("localhost","my_username","my_password", "my_schema");
  if (mysqli_connect_errno())
   {
   printf("Connect failed: %s\n", mysqli_connect_error());
  exit();
}
$sugg_query = 
"SELECT 
    s.prim_key, 
    s.created_date,
    s.created_by,
    s.suggestion 
FROM suggestion s;";
if ($sugg_result = mysqli_query($link, $sugg_query))
{
// determine number of rows result set */
    $sugg_row_cnt = mysqli_num_rows($sugg_result);
    printf("Result set has %d rows.\n", $sugg_row_cnt);

    while($sugg_row = mysqli_fetch_array($sugg_result))
    {
    echo "<br />";
    echo 
    $sugg_row['prim_key'] . " " . 
    $sugg_row['created_date'] . " " .
    $sugg_row['created_by'] . " " .
    $sugg_row['suggestion'] . " " ; 
    }
    /* close result set */
    mysqli_free_result($sugg_result);
}
//Close the connection
mysqli_close($link);
//close PHP
?> 

我想向结果添加列标题。如果我将 SELECT 语句更改为以下内容,我将得到仅生成行计数行的结果。

$sugg_query = 
"SELECT 
    s.prim_key as 'Key', 
    s.created_date as 'Date',
    s.created_by as 'Source',
    s.suggestion as 'Suggestion' 
FROM suggestion s;";

如何从 PHP 中的 SELECT 获取数据值和列标题?

最佳答案

要获取标题,您可以迭代一行,例如:

foreach($sugg_row as $header => $value){
    echo $header;
}

所以也许这样的东西应该在您的代码中工作:

$rows = mysqli_fetch_array($sugg_result)
foreach($rows[0] as $header => $value){
    echo $header;
}

您还需要记住,如果没有行,mysqli_fetch_array() 将返回 NULL

关于PHP 从 mysql 中选择列标题名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39856396/

相关文章:

php - Docker 容器上的应用程序之间的 Curl 连接被拒绝

php - 如何获取图库中包含的图像 - 包含在文章中

mysql - 使用 WHERE 子句从 csv 导入

php - mysql php查询查找输入的最长匹配部分

javascript - 页面与脚本重复

php - mysqli_fetch_field() 多次输出字段名称

php - 使用图像目录显示图像

mysql - 我可以将结果限制为 sql 中的特定数字吗?

php - Mysqli 转换的类未关闭且无法工作

javascript - javascript数组中的引用错误