仅在第三个变量中出现非法字符串偏移

时间:2014-11-09 16:52:18

标签: php mysql offset

我有一个非常奇怪的问题对我没有意义。

我在第三个变量中得到“非法字符串偏移量”,它是foreach循环中数组的一部分,无论数据来自何处。起初它认为这是我的日期格式的一个问题,但如果我将其更改为另一个字段,它只是具有该字段名称的相同错误消息。

代码如下所示:

$posts = get_tableContents($con,'posts');
foreach($posts as $post)
{
    $postID = $post['id'];
    $post = $post['subject'];
    $mydate = "something to test";
    $datePosted = $post['date'];

    echo $mydate." <a class='community' href='displayNews.php?post=".$postID."'>".$post."</a>".$datePosted."<br />";
}

如果我用$ post切换$ datePosted同样的问题,只需将错误更改为主题而不是日期。

结果: 警告:第26行的D:\ xampp \ htdocs \ snj \ news.php中的非法字符串偏移'主题' 要测试的东西2014-09-09

任何想法都会受到赞赏。

这是我正在调用的函数,以防它出现在那里:

function get_tableContents($con,$table)
{
    $results = array();
    $sql = mysqli_query($con, "SELECT * FROM $table")
        or die ("Error: " . mysqli_error($con));
    while($row = mysqli_fetch_array($sql)) 
    {
        $results[] = $row;    
    }

    return $results;
}

1 个答案:

答案 0 :(得分:1)

根据我的评论。在你的循环中,你使$ post等于帖子主题...然后尝试从帖子中提取其他内容。

阿卡$post = $post['subject']; 将其更改为$postSubject = $post['subject'];

同样检查案例..如果列名是主题上的大写字母,您可能需要$post['Subject']