Я немного новичок в ООП, но я играю с ним уже около месяца. Обычно я создаю класс с именем Mysql, который имеет функцию __construct, которая подключается к базе данных напрямую. И после этого у меня есть много разных функций, которые получают или вставляют данные в разные таблицы.
Сегодня на автобусе домой я начал думать, и у меня появилась блестящая идея, которая сделает его менее беспорядочным. Моя идея состоит в том, чтобы использовать одну функцию, которая выбирает данные (и одну для вставки), и в зависимости от того, как выглядит запрос, который он передает, он будет выбирать разные данные из разных таблиц. Хорошо, правда?
Но я застрял здесь. Я совсем не уверен, как этого добиться. У меня есть небольшая подсказка, как это может работать, но я не знаю, как связать результаты или извлечь их в массив. Запрос будет создан в другом методе, а затем передан в функцию выбора / вставки в классе Mysql.
Я нарисовал «эскиз» о том, как, я думаю, это может работать. Вот оно:
Конечно, нижеприведенная функция будет помещена в класс Mysql и уже будет иметь подключение к базе данных.
// This is an example query that could be passed in.
$query = "SELECT * FROM table WHERE id=150";
function select_data($query) {
if ( $smtp = $this->conn->prepare($query) ) {
$smtp->execute();
$smtp->bind_results(What happens here?);
if ( $smtp->fetch() ) {
foreach ( fetched_row? as $key => $value ) {
$return[] = $key => $value;
}
return $return;
}
else return NULL;
}
else return $this->conn->error;
}
Большое спасибо всем, кто может показать мне, как этого можно достичь.