Php 如何使用PDO在函数中执行MySQL数据操作

Php 如何使用PDO在函数中执行MySQL数据操作,php,mysql,pdo,Php,Mysql,Pdo,我的php版本是5.6.11。 我正在使用PDO进行mysql操作。 我将使用函数从数据库中选择任何数据。像这样, function select_post($id) { $result = $db->prepare('SELECT * FROM posts WHERE id = ?'); $result->execute(array($id)); return $result->fetch(PDO::FETCH_ASSOC); } 但它不起作用。然后我尝试在函数中包含连接文

我的php版本是5.6.11。 我正在使用PDO进行mysql操作。 我将使用函数从数据库中选择任何数据。像这样,

function select_post($id) {
$result = $db->prepare('SELECT * FROM posts WHERE id = ?');
$result->execute(array($id));
return $result->fetch(PDO::FETCH_ASSOC);
}
但它不起作用。然后我尝试在函数中包含连接文件。成功了。但是我必须把这个文件包含到我所有的函数中吗?或者我们对这个问题有不同的解决方案吗

我的工作代码是这样的

function select_post($id) {
require "config.php";
$result = $db->prepare('SELECT * FROM eb_settings WHERE setid = ?');
$result->execute(array($id));
return $result->fetch(PDO::FETCH_ASSOC);
}

最好是使用一个connexion.php文件,该文件将包含在每个文件的开头,在这里您将进入数据库connexion。这样,例如,如果密码或用户名发生更改,您只需在一个位置更改信息。

您有一个可变范围问题-
$db
不在
内的范围内选择\u post
。您需要将其作为额外参数传入,或者将其添加为
global
如何将其添加为global?$db变量位于config.php文件中。我将config.php包含到函数文件中,但它不起作用;在您的函数中,有一行
global$db。这将允许您在函数中使用
$db
变量。非常感谢,它可以工作。