Вы ищете решение совершенно неверным способом.
Каждый раз, когда вы сталкиваетесь с ситуацией, когда вы делаете что-то в нескольких частях сценария, и это становится беспорядком, вы должны создать функцию .
Фактически, вы все еще пишете весь этот уродливый повторяющийся код с подготовкой, выполнением, извлечением, подготовкой, выполнением, извлечением, подготовкой, выполнением, извлечением - для каждого запроса на странице. Разве это не похоже на беспорядок?
Итак, вам нужно создать две функции.
общего назначения, просто для извлечения некоторого значения из запроса без повторения бесполезного кода, чтобы использовать его следующим образом:
$proj_names_arr = $db->getColumn("SELECT project_name FROM projects");
и упомянутое Райзеном, основанное на первом, которое будет использоваться таким образом
$proj_names_arr = getProjects();
Это будет единственное реальное улучшение вашего кода
Что касается функции, это не так сложно
грубый пример:
function getColumn() {
$args = func_get_args();
$query = array_shift($args);
$res = $db->prepare($query);
$res->execute($args);
$data = array();
while ($row = $res->fetch(PDO::FETCH_NUM)) {
$data[] = $row[0];
}
return $data;
}
итак, это можно назвать
$proj_names = $db->getColumn("SELECT project_name FROM projects WHERE user_id = ?",
$_SESSION['user_id']);