Я немного новичок в ООП, но я играл с ним около месяца. Обычно я создаю класс под названием Mysql, который имеет функцию __construct, которая напрямую подключается к базе данных. И после этого у меня есть много разных функций, которые получают или вставляют данные в разные таблицы.PHP/Mysql - Динамический выбор данных?
Сегодня, на автобусе, я начал думать, и я придумал блестящую идею, которая сделала бы ее менее загроможденной. Моя идея состоит в том, чтобы использовать одну единственную функцию, которая выбирает данные (и одну для вставки), и в зависимости от того, как передаваемый запрос выглядит, он будет выбирать разные данные из разных таблиц. Отлично, правда?
Но я как бы застрял здесь. Я не знаю, как это сделать. У меня есть небольшая подсказка, как она может работать, но я не знаю, как я привяжу результаты или приведу их в массив. Запрос будет создан другим методом, а затем будет передан в функцию select/insert в классе 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;
}
Большое спасибо всем, кто может показать мне, как это можно достичь.
я не буду использовать для этого присоединяется, я думаю. Но даже если я это сделаю, как бы это не помогло? Запрос всегда будет похож на тот, который указан в моем первом сообщении, возможно, запустив соединение, если оно работает ... Да, я имел ввиду STMT, а не SMTP, хе-хе. Благодаря! – Nike