2011-10-19 246 views
-1

我想要的行获取数据库表的Forch的它呼应一个,但有以下错误:错误:()提供的foreach无效参数

$query = $this -> db -> query(' 
    SELECT 
     @rownum := @rownum + 1 rownum, 
     tour_foreign.id, 
     tour_foreign.name, 
     MIN(tour_foreign_residence.name_re) AS name_re, 
     tour_foreign.service, 
     tour_foreign.date_go, 
     tour_foreign.date_back, 
     tour_foreign.term, 
     tour_foreign.useradmin_submit, 
     tour_foreign.date_submit, 
     GROUP_CONCAT(tour_foreign_residence.name_re 
        ORDER BY tour_foreign_residence.name_re 
        SEPARATOR " " 
        ) AS name_re_all 
    FROM tour_foreign 
     INNER JOIN tour_foreign_residence 
     ON (tour_foreign.id = tour_foreign_residence.relation) 
     JOIN (SELECT @rownum := 0) r 
    WHERE tour_foreign.name LIKE "%' . $find . '%" 
     OR tour_foreign_residence.name_re LIKE "%' . $find . '%" 
    GROUP BY tour_foreign.id '); 

foreach ($query->result() as $row) { 
echo $row->name_re_all //thisoutput is: 11111 22222 33333 44444 ... 
    foreach ($row->name_re_all as $val) { 
     echo $val . '<br>'; 
    } 
} 

A PHP Error was encountered

Severity: Warning

Message: Invalid argument supplied for foreach()

Filename: core/Loader.php(679) : eval()'d code

Line Number: 86

+3

哪条foreach语句是第86行?如果是后者,请尝试在foreach循环之前使用explode($ row-> name_re_all,'') – Belinda

+0

此行:'foreach($ row-> name_re_all as $ val){' –

回答

1

Foreach用于迭代槽的数组,你传递一个字符串作为参数

+0

我的代码如何? –

+0

我不确定你的意思,但如果你想问如何改变代码,所以它的作品 - @Belinda对你的帖子的评论将帮助你。你并没有提供太多的信息,但它看起来像你想把字符串转换成一个数组然后打印出来。没有意义,如果只是这样,但无论如何 - 检查贝琳达的评论 – Nikoloff

+1

@NicoleSpears它真的*你的*代码?或者只是你第一次看到的代码? –

相关问题