-2

我正在学习 PHP 的 PDO for MySQL 的进出。我的问题是,如果每次执行必须运行多个不同的 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(...);或者我可以在脚本的完整执行过程中保持打开状态?

4

2 回答 2

3

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

您应该阅读一下:- OOP:基础知识

于 2012-04-10T13:58:39.457 回答
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
于 2012-04-10T14:02:05.293 回答