У меня есть следующий код на моем сайте:Как правильно вернуть массив для дальнейшего использования?
$statusMessageSQL = "SElECT * FROM statusmessages";
$statusMessagePrepare = $db->prepare($statusMessageSQL);
$statusMessagePrepare->execute();
$statusMessageResult = $statusMessagePrepare->fetchAll();
foreach($statusMessageResult as $row){
$row['username']=$db->getUsername($db->getUserNameById($row['posterID']));
$results[] = $row;
$smarty->assign('results', $results);
}
Он работает без каких-либо проблем, но сейчас я хотел поставить большинство из этого в моем классе базы данных, чтобы работать более объектно-ориентированный. Но у меня есть некоторые проблемы с возвратом массива. Я сделал это
$statusMessage = $db->getStatusMessages();
var_dump($statusMessage);
Функция:
function getStatusMessage(){
$statusMessageSQL = "SElECT * FROM statusmessages";
$statusMessagePrepare = $db->prepare($statusMessageSQL);
$statusMessagePrepare->execute();
$statusMessageResult = $statusMessagePrepare->fetchAll();
foreach($statusMessageResult as $row){
$row['username']=$db->getUsername($db->getUserNameById($row['posterID']));
$results[] = $row;
}
return $results;
}
Но это только говорит мне, что мой массив является пустым. поэтому с моим возвращением должна быть проблема. Как мне это сделать правильно?
Мои записи в базе данных - это статусID, posterID, statusMessage, dateTime, sumRating и sumVotes.
И что делать, если я хочу также вернуть запись другой таблицы? Например, у меня есть данное имя и фамилия имени плаката (posterID) на другом столе. Как мне также вернуть эти данные?
Вы вызываете '$ db-> getStatusMessages' и показывая нам' $ db-> getStatusMessage' (без ** с **) , Что здесь верно? – slugonamission
В функции getStatusMessage() используйте $ results = array(); // Всегда инициализируем переменную перед использованием – Arvind
. Что сказал slugonamission, мне очень помогли. Я такой слепой идиот. Спасибо, я сейчас работаю над этим – loomie