PHP Mysql获取数据空白

Having a bit of an issue with my php code..

$stmt = $db->prepare("SELECT * FROM mytable WHERE TheGroup = :SearchName ORDER BY TheTime DESC");
$stmt->bindParam(':SearchName', $request, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

$count = count($result);
for ($i = 0; $i < $count; $i++) {
    $mTheAvatar = $result[$i]->TheAvatar;
    $mTheDirection= $result[$i]->TheDirection;
    $mTheGroup = $result[$i]->TheGroup;
    $mTheMedia = $result[$i]->TheMedia;
    $mTheMessage = $result[$i]->TheMessage;
    $mTheSenderName= $result[$i]->TheSenderName;
    $mTheThumbImage = $result[$i]->TheThumbImage;
    $mTheTime = $result[$i]->TheTime;
    $mTheMediaExtension = $result[$i]->TheMediaExtension;

    echo "hello";
    echo $mTheAvatar;
    echo "    <- this is avatar";
}

If I do a Var_dump() I see the data being requested without a problem. If I echo the variables , they are blank.. I have triple checked that the table column names are correct..

the $mTheAvater is a pic in table, if that gives a possible clue, but the rest are blank as well so not sure what is up?!?

You can test:

$mTheAvatar = $result[$i]['TheAvatar'];

As I know in the FETCH_ASSOC it returns data in above structure.

You are trying to read them as if they are objects, but PDOStatement::fetchAll returns an array, so your code should look like:

for ($i = 0; $i < $count; $i++) {
    $mTheAvatar = $result[$i]['TheAvatar'];
    $mTheDirection= $result[$i]['TheDirection'];
    .
    .
    .
    .
    echo "hello";
    echo $mTheAvatar;
    echo "    <- this is avatar";
}

If you want to handle objects, you should use PDOStatement::fetchObject

This should be better - 1) it's using foreach; 2) unset(); 3) different structure

 $stmt = $db->prepare("SELECT * FROM mytable WHERE TheGroup = :SearchName ORDER BY TheTime DESC");
$stmt->bindParam(':SearchName', $request, PDO::PARAM_STR);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

if($results){

  foreach($results as $result_data) {

    echo $result_data['TheAvatar'];

    echo $result_data['TheDirection'];

     //and so on

    unset($result_data);

  }

}
else{

    echo 'Empty';

}