我正在学习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(...);
的新实例,还是可以通过完整执行脚本来保持它?
答案 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