php - 数据库连接和功能?

标签 php mysql function

我是使用函数的新手,所以 - 请不要做出判断;)。

假设我在function.php中有一个函数add_to_x(),它在其中执行mysql_query()。该函数包含(include "function.php";)到 script.php 中,并在该脚本的中途调用。在 function.php 的顶部,我建立了一个数据库连接,并在最后关闭它。

这会默认传递给函数 add_to_x() 还是我需要在 add_to_x() 本身内建立和关闭连接?

<小时/>

用于说明和良好衡量:

script.php 的内容

include "function.php";
// Do something
add_to_x($arg1, $arg2);
// Do something else

function.php 的内容

include "db_conn.php";
$conn = mysql_connect($db_host, $db_user, $db_pass); mysql_select_db($db_name);

function add_to_x($arg1, $arg2) {
    // Do something
    $query = "SELECT * FROM table WHERE x = '$arg1'";
    $result = mysql_query($query);
}

mysql_close($conn);

这可行吗?或者我需要做这样的事情:

function add_to_x($arg1, $arg2) {
    include "db_conn.php";
    $conn = mysql_connect($db_host, $db_user, $db_pass); mysql_select_db($db_name);
    // Do something
    $query = "SELECT * FROM table WHERE x = '$arg1'";
    $result = mysql_query($query)
    mysql_close($conn);
}

这可能看起来像一个相当愚蠢的问题,但我不确定连接/功能的范围。我觉得即使第一个例子可行,也许第二个例子会更好?

任何评论、建议、答案将不胜感激! (我意识到我让这个问题有点困惑,但我希望插图代码有所帮助,当然,如果您需要进一步说明,请询问)!

最佳答案

您可以在定义函数的文件中打开数据库连接,就像您正在做的那样。但是在 function.php 末尾关闭它不是您想要做的事情 - 通过这样做,您将在使用之前关闭连接。

您可以在主脚本的最后调用mysql_close()(在调用所有需要连接的函数之后),或者根本不调用(资源将被隐式关闭/释放)当脚本完成时)。

关于php - 数据库连接和功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7469513/

相关文章:

php - 在函数中利用现有的数据库连接

javascript - function() 和 $(this) 中的 each()

python - 调用函数出错

php - 数据库设计和Solr

php - 从表单接收数据时自动增加MySQL中的主键

PHP SESSION 数组仅存储在索引 0 中

mysql - 简单选择组通过使用文件排序和临时,而不是索引

php - 为ajax调用填充mysql查询的日期间隙

类似于 Rosetta 的 PHP 翻译前端?

PHP getimagesize 空输出