gpt4 book ai didi

php - 脚本中的多个 PDO 查询

转载 作者:行者123 更新时间:2023-11-29 14:07:12 25 4
gpt4 key购买 nike

我正在尝试找出在单个脚本中使用 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 之前确认这是最佳实践。

最佳答案

the script was confusing the seperate queries beforehand (it was expecting parameters of an old query which i was no longer calling)

这是您的其他代码中的程序流程的问题。最有可能循环运行。

至于您在此处发布的代码,无需将 $query 设置为 NULL - 无论如何它都会被下一行覆盖。

请注意,mysql 的有效字符集是 utf8,而不是 utf-8

关于php - 脚本中的多个 PDO 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14175486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com