PDO Fetch_assoc返回单词“Array”

Im attempting to return a first name based off the users ID in a foreach statement but instead it returns the word "array" as the first name. I have no idea why its returning the word array in the scenario.

<table style="margin-top:-16px;">
                        <tbody style="overflow:hidden;">
                        <tr>
                            <th>Title</th>
                            <th>Author</th>
                            <th>Date Submitted</th>
                            <th>File Location</th>
                            <th>Download Status</th>
                            <th>Approve Status</th>
                        </tr>
                    <?php
                        $dbConnect = 'mysql:dbname=test;host=localhost';
                        $username = "test";
                        $password = "test";

                        try{
                            $dbConnect = new PDO($dbConnect, $username, $password);
                        } catch (PDOException $error) {
                            echo 'Error Connecting: ' . $error->getMessage();
                        }

                        $caseMgmtReturn = "SELECT * FROM `case`";

                        $caseMgmt = $dbConnect->query($caseMgmtReturn);

                        foreach ($caseMgmt as $row) {
                            $user = $row["userID"];
                            $firstPull = $dbConnect->prepare("SELECT `firstName` FROM `user` WHERE `userID`=:user");
                            $firstPull->bindValue(":user", $user);
                            $firstPull->execute();
                            $firstName = $firstPull->fetchAll(PDO::FETCH_ASSOC);

                            print "<tr> <td>" .$row["title"] . "</td> <td>" . $firstName . "</td> <td> " . $row["dateSubmitted"] . "</td> <td>" .  $row["fileLocation"] . "</td> <td>" .  $row["downloadStatus"] . "</td> <td>" .  $row["approvedStatus"] ."</td></tr><br/>";
                        }
                        ?>  
                        </tbody>  
                    </table>

http://php.net/manual/en/pdostatement.fetchall.php

If you are going to use ->fetchAll(PDO::FETCH_ASSOC) you need to then reference the associated Key=>Value pair, such as

$firstName['firstName']

If you use ->fetch() it returns an index based array, so you would retrieve your value like so;

$firstName[0]

You use index position 0 because in your SQL string you referenced a single column on the table, as 'firstName'. If you used

SELECT * FROM

Then you would need to know the order in which the columns are in the table which is what makes the ->fetchAll(PDO::FETCH_ASSSOC) so useful. You don't reference a number, you reference a column name.

So your code should look like this:

$firstPull = $dbConnect->prepare("SELECT `firstName` FROM `user` WHERE `userID`=:user");
$firstPull->bindValue(":user", $user);
$firstPull->execute();
$values = $firstPull->fetchAll(PDO::FETCH_ASSOC);
print "<tr> <td>" .$row["title"] . "</td> <td>" . $values['firstName'] . "</td> <td> " . $row["dateSubmitted"] . "</td> <td>" .  $row["fileLocation"] . "</td> <td>" .  $row["downloadStatus"] . "</td> <td>" .  $row["approvedStatus"] ."</td></tr><br/>";