php - 这个 php 脚本中会发生太多连接吗? (mysql_select_db)

标签 php mysql

下面的脚本用于更新 100 个数据库的模式。

我正在调用 mysql_connect,mysql_select_db 是否会导致建立另一个连接或者我还好吗? (我运行这个脚本来更新 100 个左右数据库的模式)

$conn = mysql_connect("localhost", "root", "PASSWORD");
$show_db_query = mysql_query('SHOW databases');
$databases = array();
while ($row = mysql_fetch_assoc($show_db_query)) 
{ 
    if (!in_array($row['Database'], $exclude_dbs))
    {
        $databases[] = $row['Database'];
    }
}

foreach($databases as $database)
{
    mysql_select_db($database, $conn);
    echo "Running queries on $database\n***********************************\n";
    foreach($sql_queries as $query)
    {
        if (!empty($query))
        {
            echo "$query;";
            if (!mysql_query($query))
            {
                echo "\n\nERROR: ".mysql_error()."\n\n";
            }
        }
    }
    echo "\n\n";
}

最佳答案

只要 mysql_select_db 找到最后一个连接或连接标识符随调用语句一起提供,它就不会创建新连接。

由于您传递的是连接标识符,因此它不会创建与 mysql 的新连接。在这种多连接的情况下你可以安全地进行,但要注意 mysql 扩展不再维护,你可以尝试 mysqliPDO

关于php - 这个 php 脚本中会发生太多连接吗? (mysql_select_db),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13331942/

相关文章:

javascript - 如何更改 stripe.js 中的响应(错误/成功)语言

mysql - 从 bitbucket 管道中的构建命令访问 mysql

mysql - 我应该如何解析MySQL中的--secure-file-priv?

php - 使用 while 循环插入数据库

PHP 错误 "parameter was not defined"

mysql - SQL 仅返回特定年龄的人

mysql - 将外键字符串的触发器插入到 int

mysql - 将 MySQL 数据库内容迁移到 PostgreSQL

php - 如何使用 PHP 从 $_SERVER ['HTTP_ACCEPT_LANGUAGE' ] 获取语言值?

php - 503后端提取失败-Varnish缓存服务器Laravel