我试图找出在单个脚本中使用 PDO 运行多个 SQL 查询的最佳实践。数据库连接是在脚本开始时建立的,但随后我需要进行多个不同的查询。我目前正在做的(我不确定这是最佳实践)是:
$db = new PDO('mysql:host='.$DBHOST.';dbname='.$DBNAME.';charset=UTF-8', $DBUSER, $DBPASSWORD);
$query = $db->prepare("SELECT count(*) as total from bande_ips WHERE ip=:ip");
$query->bindValue(':ip', $_SESSION['REMOTE_ADDR'], PDO::PARAM_STR);
$query->execute();
$array = $query->fetchAll(PDO::FETCH_ASSOC);
$query = NULL;
$query = $db->prepare("SELECT * from failed_login WHERE IP=:ip and email=:email");
$query->bindValue(':ip', $_SESSION['REMOTE_ADDR'], PDO::PARAM_STR);
$query->bindValue(':email', $email, PDO::PARAM_STR);
$query->execute();
$array = $query->fetchAll(PDO::FETCH_ASSOC);
如您所见,我在一个脚本中准备了两个单独的查询。但是我开始设置$query = NULL;
,因为脚本事先混淆了单独的查询(它期待我不再调用的旧查询的参数,这导致我不确定这是否是最佳实践。)
在继续迁移到 PDO 之前,我只想确认这是最佳实践。