#php #mysql
#php #mysql
Вопрос:
Я хочу, чтобы в моем меню была вкладка, в которой указано, сколько задач кто-то еще должен выполнить. Я пытаюсь сделать это вот так:
public function getTasksCount() {
$stmt = $this->db_connection->prepare("SELECT COUNT(*) FROM tasks WHERE for = ?");
$user = $_POST['user_name'];
$stmt->bind_param('s', $user);
$stmt->execute();
$stmt->bind_result($count);
$stmt->store_result();
if($stmt->num_rows > 0) {
while($stmt->fetch()) {
return "$count";
}
}
$stmt->close();
}
Но когда я называю это так <?php $adminfunctions->getTasksCount(); ?>
, большая часть содержимого моих страниц исчезает. (См. Рисунок ниже.) Как вы можете видеть, вертикальное боковое меню все еще в порядке, но есть опции из верхнего меню, которые исчезли, и, конечно, содержимое в большом пробеле… Любая помощь?
Img:
Комментарии:
1. вы выполняете
select count(*)
запрос. он может возвращать только одну строку. таким образом, использованиеwhile()
цикла для извлечения этой строки является основным симптомом карго-культового программирования. И если ваша страница умирает после определенного фрагмента кода, вы, вероятно, получили ошибку, которая убивает php, и параметры отладки отключены, предотвращая отображение сообщений об ошибках. включены ли error_reporting и display_errors? Они никогда не должны отключаться во время отладки / разработки.2. @MarcB Да, они включены.
3. Если недостающее содержимое отправляется после
getTasksCount()
вызова is, я полагаю, что ваша функция выдает ошибку, и эта ошибка не отображается, возможно, из-за настройки директив display_errors и error_reporting в PHP.4. Вероятно, вам следует проверить num_rows, ПРЕЖДЕ чем выполнять выборку / store_result. не уверен, что именно делает all store_result внутренне, но это может привести к удалению метаданных, таких как num_rows.
5. Вы также можете проверить источник страницы в своем браузере. Строка
return "$count";
в вашем случае возвращает результат запроса, преобразованный в строку, возможно, в этой строке есть несколько зарезервированных символов HTML, которые затем влияют на отображение страницы.