Php 为什么赢了';这不是我的工作吗?

Php 为什么赢了';这不是我的工作吗?,php,pdo,foreach,Php,Pdo,Foreach,第一行从myusers\u subspecialties表中获取记录 然后我使用print\r检查找到的记录 输出如下所示: $subSpecialties = $this->_db->get('users_subspecialties',array('user_id', '=', $this->_data->id)); print_r($subSpecialties); foreach ($subSpecialties as $subSpecialty) {

第一行从my
users\u subspecialties
表中获取记录

然后我使用
print\r
检查找到的记录

输出如下所示:

$subSpecialties = $this->_db->get('users_subspecialties',array('user_id', '=', $this->_data->id));

print_r($subSpecialties);

foreach ($subSpecialties as $subSpecialty) {
    echo "THIS CODE IS GENERATED FROM INSIDE FOREACH";
}
最后一行是每个的我的
;它应该运行,因为您可以通过
print\r
输出看到有2条记录,但它不会
echo
内部的代码


有人能告诉我出了什么问题吗?提前感谢。

如果此响应是对象,您会得到如下结果:

DB Object ( [_pdo:DB:private] => PDO Object ( ) [_query:DB:private] 
=> PDOStatement Object ( [queryString] => SELECT * FROM 
users_subspecialties WHERE user_id = ? ) [_error:DB:private] => 
[_results:DB:private] => Array ( [0] => stdClass Object ( [user_id] 
=> 1 [subspecialty_id] => 2 ) [1] => stdClass Object ( [user_id] => 1 
[subspecialty_id] => 3 ) ) [_count:DB:private] => 2 )
foreach($subSpecialty作为$subSpecialty){
echo$subSpecialty->user\u id;
回声“
”; echo$subSpecialty->subSpecialty\u id; }
如果此响应是数组,则

foreach ($subSpecialties as $subSpecialty) {
   echo $subSpecialty->user_id;
   echo '<br/>';
   echo $subSpecialty->subspecialty_id;
}
foreach($subSpecialty作为$subSpecialty){
echo$子专业[用户id];
回声“
”; echo$subSpecialty[subSpecialty_id]; }
内循环打印(子专业);使用此…并检查您需要对结果而不是数据库对象进行foreach的响应。请尝试
foreach($subSpecialties->results()as$subSpecialty)
。顺便问一句,您从哪里获得DB类的?是梨还是什么?不,杰克,我在youtube上看了我的教程,非常方便。我可以在线下载课程吗?我还没试过。如果你能指出我可以下载哪些很棒的,那就太好了愚蠢的我:)我错过了->结果()谢谢你的帮助我真的很感激
foreach ($subSpecialties as $subSpecialty) {
   echo $subSpecialty[user_id];
   echo '<br/>';
   echo $subSpecialty[subspecialty_id];
}
$subSpecialties = $this->_db->get('users_subspecialties',array('user_id', '=', $this->_data->id));

print_r($subSpecialties);

foreach ($subSpecialties->results() as $subSpecialty) {
    echo "THIS CODE IS GENERATED FROM INSIDE FOREACH";
}