我有一個包含2個函數的類「測試」,一個用於創建預處理語句,另一個用於執行一次或多次。問題是我如何在第一個中設置綁定並在其他函數中填寫變量。PDO在多種功能中的使用 - 重複使用準備好的語句
class test {
private static $moduleSql = "SELECT
id,
module
FROM
phs_pages
WHERE
prettyurl = :prettyUrl AND
mainId = :mainId
";
private static function pre() {
$db = Db_Db::getInstance();
self::$preModuleSql = $db->prepare(self::$moduleSql);
self::$preModuleSql->bindParam(':prettyUrl', $prettyUrl);
self::$preModuleSql->bindParam(':mainId', $mainId);
}
private static function getClassByDb($mainId = 0, $id = 0) {
$prettyUrl = self::$parts[$id];
self::$preModuleSql->execute();
self::$preModuleSql->debugDumpParams();
$result = self::$preModuleSql->fetch(PDO::FETCH_ASSOC);
// get lower level classes
if (isset(self::$parts[$id + 1])) {
self::getClassByDb($result['id'], $id + 1);
} else {
return $result;
}
}
}
這是我做的。它工作得非常好。如果有需求,我會在一個答案中發佈我的代碼,但它非常符合沼氣標準的PHP。 – 2011-05-06 22:09:29