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 从 MySQL 字段中删除特定数字

php - 使用 mysqli 在 "if"条件下使用 "||"和 "&&"运算符准备 stmt

c - C 中的静态函数

JavaScript:给一个函数和函数表达式同名可以吗?

javascript 函数在node.js Jade Express 中不起作用

php - 验证域对象 setter 中的表单输入?

php - PHP和HTML表单使用用户输入来搜索数据库

php - CakePHP 和 codeigniter 框架与 ASP.NET MVC 框架相比如何?

php - 一段时间后隐藏项目 [PHP/MySQL]

MySQL 分区使用统计