[英]best way to do not redundant query?
我创建了基于MVC模型的Rest API。 到目前为止,一切工作都很好,但是当我有20或30个将与数据库进行通信的模型时,我想为将来找到一个聪明的方法。 特别是,在每个模型函数中,我都应该这样编写查询:
if($stmt = $connection->prepare("SELECT first_name FROM table WHERE id = ?"))
{
$id = 86;
$stmt->bind_param("i", $id);
$stmt->execute();
$stmt->bind_result($res);
$stmt->fetch();
echo "My name is => " . $res;
$stmt->close();
}
这变得很烦人。 我该如何做类似CodeIgniter的事情? 我不想使用外部库或框架,因为我试图学习如何单独构建基础。 现在,我知道这个问题可能不完全符合社区标准,但是我希望有人会理解这仍然是一个技术问题。
为此,您可以创建一个包含一个类的类,该类可以接受要与db通信的参数,这是您想要的方式。
例如:你可以创建的方法等function getAll($table)
,这将返回的所有行$table
。 然后,您将不需要编写相同的表来一次又一次地获取代码。 您可以只调用getAll("users");
这将返回users
表的所有行,或者将返回getAll('products
);`将返回“产品”表的所有行。 我认为这些辅助方法中的代码对您来说并不困难。 这是使您的给定代码减少冗余的方法。
function findFromTable($table, $id){
if($stmt = $connection->prepare("SELECT first_name FROM $table WHERE id = ?"))
{
$stmt->bind_param("i", $id);
$stmt->execute();
$stmt->bind_result($res);
$stmt->fetch();
echo "My name is => " . $res;
$stmt->close();
}
}
希望这能使您摆脱困境或感到多余。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.