php - 使用 OO PHP 优化 SQL 请求

标签 php sql oop optimization

我想知道是否有一种方法可以使用 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/

相关文章:

php - json_encode、json_decode、数组?

javascript - 如何在 javascript 中更新 HTML 正文参数?

mysql - MS SQL 临时表缺少字段

ios - 在同一类的所有对象中隐藏某些内容

python - `self` 参数的用途是什么?为什么需要它?

php - 用于获取最佳答案的自定义 mysql 查询

php - 如何使用 PHP 统计 MySQL 连接数

MySQL JOIN 复杂性

SQL计算已知时期内的不同时间范围

java - 在面向对象编程中获取特定类的所有对象