如何使用PDO缩短mySQL查询?

时间:2013-03-02 11:21:44

标签: mysql pdo

我是PDO的新手,并尝试了解它是如何工作的。以下是从数据库中删除用户的代码段:

$stmt = $db->prepare("-- 02 account_delete.php
        DELETE FROM " . TABLE_ADDRESS_BOOK . " WHERE customers_id = :id");
    $stmt->bindParam(':id', $_SESSION['customer_id'], PDO::PARAM_INT);
    $stmt->execute();
    $stmt = $db->prepare("-- 03 account_delete.php
        DELETE FROM " . TABLE_CUSTOMERS . " WHERE customers_id = :id");
    $stmt->bindParam(':id', $_SESSION['customer_id'], PDO::PARAM_INT);
    $stmt->execute();
    $stmt = $db->prepare("-- 04 account_delete.php
        DELETE FROM " . TABLE_CUSTOMERS_INFO . " WHERE customers_info_id = :id  
    ");
    $stmt->bindParam(':id', $_SESSION['customer_id'], PDO::PARAM_INT);
    $stmt->execute();

如何缩短它,例如将它组合成一个数组或其他东西。我也想知道为什么我要重复:

$stmt->bindParam(':id', $_SESSION['customer_id'], PDO::PARAM_INT);

否则它不起作用。

1 个答案:

答案 0 :(得分:0)

  

如何缩短它,例如将它组合成一个数组

只需将查询放入数组并循环执行即可。

  

我也想知道为什么我必须重复绑定

因为您将变量绑定到特定查询。所以你不能和另一个人一起使用 无论如何,在一个循环中,ypu只需要做一次 - 所以,它并不重要