我正在尝试找出在单个脚本中使用PDO运行多个SQL查询的最佳做法。数据库连接在脚本的开始处进行,但我需要进行多个不同的查询。我在做什么目前(这我不知道,最好的方法)是:脚本中的多个PDO查询
$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;
,因为脚本事先混淆了单独的查询(它预期的参数是我不再打电话的旧查询的参数,这导致我不确定这是否是最佳做法。)
I只是想确认在我继续迁移到PDO之前,这是最佳做法。
没有错 –
我建议使用不同的变量名,因为这可能会引起误解和容易出错的 - 但是,如果你这样做,避免使用'query1','query2' ... – tmuguet
@tmuguet我个人没有看到这个好处。它对我来说看起来像是一种无用的内存使用。小心解释为什么? – JimmyBanks