运行多个 PDO 语句


Running Multiple PDO Statements

我正在学习PHP的MySQLPDO的来龙去脉。我的问题是,如果我每次执行必须运行多个不同的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(...);的新实例,或者我可以通过脚本的完全执行使其保持打开状态?

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

你应该读一读:- OOP:基础知识

不,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