【问题标题】:Am I supposed to use PHP PDO in an OOP way?我应该以 OOP 方式使用 PHP PDO 吗?
【发布时间】:2014-04-09 05:34:48
【问题描述】:

我是 PDO 的新手,听说这是做 Web 应用程序的更好方法,我正在开发小型计费应用程序。 有一个dobut,我可以像下面这样编码吗?

<?php 
require_once '../../classes/PDO_connection.php';

$type       =   'initial_stock';
$item_code  =   $_POST["item_code"];
$category   =   $_POST["category"];
$variety    =   $_POST["variety"];
$quantity   =   $_POST["quantity"];
$price      =   $_POST["price"];
$f_price    =   number_format($price, '2', '.', '');
$total      =   $quantity * $price;
$full_name  =   $item_code.':'.$category.':'.$variety.':'.$f_price;
$in_stock   =   $quantity;
$prev_stock =   '';

    //inserting data from initial stock page
    $stmt = $pdo->prepare("INSERT INTO silk (type, item_code, category, variety, quantity, price, full_name, total, in_stock, sale_date, entered_date) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now())");
    $stmt->bindParam(1, $type);
    $stmt->bindParam(2, $item_code);
    $stmt->bindParam(3, $category);
    $stmt->bindParam(4, $variety);
    $stmt->bindParam(5, $quantity);
    $stmt->bindParam(6, $price);
    $stmt->bindParam(7, $full_name);
    $stmt->bindParam(8, $total);
    $stmt->bindParam(9, $in_stock);
    $stmt->execute();

    //getting all initial stock for dispaling

    $stmt = $pdo->prepare("SELECT * FROM silk WHERE type='initial_stock'");
    $stmt->execute();
    $rows = $stmt->fetchAll();
    foreach($rows as $stock){
            echo "<tr class='active'>
                  <td>".$stock['item_code']."</td>
                  <td>".$stock['category']."</td>
                  <td>".$stock['variety']."</td>
                  <td>".$stock['price']."</td>
                  <td>".$stock['quantity']."</td>                 
                  <td><a id='initial_stock_silk_delete' id_to_delete=".$stock['id'].">Delete</a></td>
               </tr>";
    }

在 mysql 中,我调用有查询的函数并返回值,但我认为 PDO 不需要那个?我对么?期待专业人士的建议....谢谢。

【问题讨论】:

    标签: php mysql oop pdo


    【解决方案1】:

    这完全取决于您。如果您想使用您已经习惯的功能 - 没有人会禁止您创建。

    您必须考虑的唯一一件事 - 这样的函数应该至少接受两个参数 - 一个带有占位符的查询和一个带有要绑定数据的数组

    【讨论】:

    • 是什么让你觉得有可能?
    • 我的常识说没有,但我的朋友说去 oop 更好,那就是我在这里
    • 对不起,你只是不知道你在说什么。 OOP 在某些方面确实更好,但是您的问题毫无意义。首先,“更好”并不意味着“更快”。其次,您也可以以 OOP 方式拥有这样的功能——您只需要为此学习 OOP。原始 PDO 不是使用 PDO OOP 的唯一方法
    • 如果你愿意 - 你可以创建一个数据库访问类,并使你的函数成为这个类的方法。但这不是重点。无论哪种方式,您最终都会使用此功能 - 一行而不是原始 PDO 的三行。这就是重点。
    猜你喜欢
    • 2013-07-17
    • 1970-01-01
    • 2023-03-18
    • 2010-11-22
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 2015-10-08
    • 2014-08-19
    相关资源
    最近更新 更多