我正在学习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