【发布时间】:2011-04-18 18:39:06
【问题描述】:
我对 OOP 有点陌生,但我已经玩了大约一个月了。通常,我创建一个名为 Mysql 的类,它有一个直接连接到数据库的 __construct 函数。之后我有很多不同的函数可以获取或插入数据到不同的表中。
今天在回家的公共汽车上,我开始思考,我想出了一个绝妙的主意,让它不那么混乱。我的想法是使用一个函数来选择数据(和一个用于插入),并且根据传入的查询的外观,它将从不同的表中选择不同的数据。不错吧?
但我有点卡在这里。我完全不确定如何实现这一目标。我有一个小线索,它是如何工作的,但我不知道如何绑定结果,或者将它们提取到数组中。查询将在另一个方法中创建,然后传递到 Mysql 类中的 select/insert 函数中。
我画了一个关于我认为它可能如何工作的“草图”。这里是:
当然,下面的函数会放在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;
}
非常感谢任何可以向我展示如何实现这一目标的人。
【问题讨论】: