0
我对于使用函数是相当新的,而且我一直是“低端”编码器,所以我决定花更多时间在正常,安全和高质量的代码上工作。设置数据库信息一次并在多个php函数中使用
现在我想在一个.php文件中有多个函数,因此我不想将所有数据库信息设置一次,并在需要它的所有函数中使用它。我认为我做错了什么不全球或任何东西,但我尝试了所有不同的组合。没有人会工作。
这是我现在的代码:
<?php
function getExperience($userid) {
$dbHost = "*";
$dbUsername = "*";
$dbPassword = "*";
$dbName = "*";
$conn = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
$sql = "SELECT * FROM experience WHERE userid = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('i', $userid);
$stmt->execute();
$result = $stmt->get_result();
while ($print = $result->fetch_assoc()){
echo $print['employer'];
}
}
?>
此代码工作得很好,究竟做什么,我想要它做的,但不知何故我觉得我没有把所有的数据库信息到每个功能。我很想知道是否有一种方法来设置主机,用户名,密码和数据库名称一次,并使用连接在我需要它的每个功能。
正如我之前所说的,我试图在将它们放在函数之外之后将值全局化,但是我无法使其工作。
任何意见表示赞赏。提前致谢!
确实关闭是一个好主意。忘了那个。 虽然我不知道这将如何工作。 $ dbcon在这个脚本中做了什么?而且你怎么能在函数的顶部使用变量?它不应该是全球性的吗?每当我尝试这种方式,它会失败。感谢您的回答!至于应该做什么:它会简单地从数据库中获取一些信息并显示给用户。没有什么比这更少。 – user3299251
我在php 5.4中测试过它,它工作。所以我不知道为什么它不适合你。我只是将函数变量命名为不同的东西,所以更清楚地知道连接是如何传递给函数的。我还添加了for循环作为函数的测试代理。 – thebtm