我想知道是否有一种方法可以使用 OO PHP 完全优化我的 SQL 请求。让我们举个例子,我们有 3 个对象类,名称类似于 3 个表:
- 产品:ID、名称、价格、颜色...
- 客户:身份证、姓名、电子邮件...
- 购物车:id、id_product、id_customer...
所有 getter 和 setter 都是经典制作的。 现在,我只想在我的付款页面上显示产品[名称]和客户[姓氏]。 对应的完全优化后的请求是
在product.id = cart.id_product 上从购物车 INNER JOIN 产品中选择product.name、customer.surname 在 customer.id = cart.id_customer 上INNER JOIN 客户
在哪里或者如何使用 OOP 生成这个完全优化的请求?并且不必检索整个对象并稍后处理它们?我是否必须为每个需要优化的 sql 请求创建一个方法?也许是一个请求生成器?
最佳答案
不确定我是否完全理解,但也许这样的事情会让你开始:
function findIt($table,$field,$value)
{
$table=$mysqli->real_escape_string($table);
$field=$mysqli->real_escape_string($field);
$value=$mysqli->real_escape_string($value);
if ($result = $mysqli->query
("SELECT * FROM $table WHERE $field like '$value' LIMIT 0,1;"))
{
return $result->fetch_object();
}
}
调用它:
$oCart=findIt('cart','id','SomeID');
echo $oCart->name;
关于php - 使用 OO PHP 优化 SQL 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19022462/