У меня очень странная проблема, которая не имеет смысла для меня.
Я получаю «Недопустимое смещение строки» в моей третьей переменной, которая является частью массива в цикле 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 />";
}
Если я переключаю $ datePosted с помощью $ post, возникает та же проблема, просто меняющая ошибку, чтобы сказать тему вместо даты.
Результаты:
Предупреждение: недопустимое смещение строки ‘subject’ в D: \ xampp \ htdocs \ snj \ news.php в строке 26
что-то для проверки 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;
}
За мой комментарий. В вашем цикле вы делаете $ post равным теме сообщения … А затем пытаетесь извлечь что-то еще из сообщения.
Ака $post = $post['subject'];
Изменить это на$postSubject = $post['subject'];
Также проверьте случай .. Возможно, вам нужно сделать $post['Subject']
в случае, если имя столбца с большой буквы
Других решений пока нет …