从表中获取第一列

时间:2016-11-13 15:44:18

标签: php sql database class pdo

首先感谢阅读本文。
我有这个功能设置

function SelectHydross($conn){
    $sql = "SELECT * from HydrossTheUnstable"; 
    $data = $conn->query($sql);

    $title = $data->fetchColumn(1);
    echo '<div><table>';
    echo '<tr>';
    echo "<th>" . $title['BossName'] . "</th>";

哪个给了我Warning: Illegal string offset 'BossName'
第70行是:echo "<th>" . $title['BossName'] . "</th>";

如果我使用此代码

function SelectHydross($conn){
    $sql = "SELECT * from HydrossTheUnstable"; 
    $data = $conn->query($sql);
    $title = $data->fetch(PDO::FETCH_ASSOC); 
    echo '<div><table>';
    echo '<tr>';
    echo "<th>" . $title['BossName'] . "</th>";

它跳过第一列并从第二列开始 我现在不知道任何出路,我想请求帮助!

这就是我的表格的样子

enter image description here

2 个答案:

答案 0 :(得分:2)

正如我在评论中所概述的那些我不会重复(您可以阅读这些内容),您可以使用带有可以跳过一行的偏移的LIMIT。

I.e。:SELECT语句中的LIMIT 1,10

手册:

示例:

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

答案 1 :(得分:1)

如评论中所述,fetchColumn定位一行并返回一个值,而不是一个数组。

替换此行:

$title = $data->fetchColumn(2);

$title = $data->fetch(PDO::FETCH_ASSOC);

并且您的第一个解决方案将起作用。

编辑:如果没有,也许您在此行之前获取结果。 PDOStatement::fetch返回行集的第一行,它不会从第二行开始。