运行多个PDO语句

时间:2012-04-10 13:57:02

标签: php mysql pdo

我正在学习PHP的MySQL PDO的内外版本。我的问题是,如果每次执行必须运行多个不同的MySQL语句,我是否需要在每个新的(不同的)语句之前定义$pdo = new PDO(...);

$pdo = new PDO(...);
$sql = $pdo->prepare('SELECT userid, email FROM users WHERE email = :email AND password = :password');
$sql->execute(array(':email' => $_POST['email'], ':password' => md5($_POST['password'])));
$result = $sql->fetchObject();

$sql = $pdo->prepare('UPDATE users SET access_count = access_count + 1, timestamp_last_access = :timestamp WHERE userid = :userid');
$sql->execute(array(':timestamp' => TIMESTAMP, ':user_id' => $result->user_id));
$result = $sql->fetchObject();

我是否需要调用$pdo = new PDO(...);的新实例,还是可以通过完整执行脚本来保持它?

2 个答案:

答案 0 :(得分:3)

您不需要创建它的另一个实例:)

您应该阅读: - OOP: The Basics

答案 1 :(得分:2)

不,PDO只是PHP中的另一个类。这是一个演示一个实例的简单示例......

class Test {
    private $i = 0;

    public function increment() {
        $this->i++;
        return $this->i;
    }
}

$test = new Test();
echo $test->increment(); // 1
echo $test->increment(); // 2
echo $test->increment(); // 3