代码之家  ›  专栏  ›  技术社区  ›  Iason

当函数返回值时,将mysqli关闭到哪里?

  •  0
  • Iason  · 技术社区  · 7 年前

    1. 是返回变量中仍然存在的数据,当我在返回$row之后关闭连接时,此方法将从其他类中多次调用。

    2. 当从另一个类调用函数时,当连接关闭时,它仍然拥有数据。或者,尽管它存储在一个变量中,该变量被返回给调用函数的类,但它是否不再存在。

    3. 甚至可以在返回值之后调用mysqli_close连接吗?或者该方法是因为返回了一个值而停止的,因此永远不会调用mysqli_close函数?

    4. 因为这是一个由其他人编写的旧框架,所以我没有一个所有类都是从中扩展的基类,所以我没有任何简单的方法来关闭每个php文件末尾的连接。如果我不这样做,我将需要添加mysqli_接近500多个文件。我认为这是错误的做法。

    5. 关于如何解决这个问题的任何想法都将不胜感激!

    例如,我有这个功能:

    function getRecord($sql) {
        if ($this->connect()) {
            if ($result = mysqli_query($this->connection,$sql)) {
                if ($row = mysqli_fetch_assoc($result)) {
                    return $row;
                    // mysqli_close($this->connection);
                } else {
                    return false;
                }
            } else {
                return false;
            }
    
        } else {
            return false;
        }
        // mysqli_close($this->connection);
    }
    
    0 回复  |  直到 7 年前