我试图在我的主php文件中包含一个来自不同文件的变量,但是我总是得到Undefined variable。帐户.php# GUEST CREDENTIALS$host = 'localhost';$guestAccount = 'oncofinder';$guestPassword = 'xxxxxx';$database = 'oncofinder';#LOGGER CREDENTIALS$loggerAccount = 'logger';$loggerPassword = 'xxxxx';连接.phpfunction guestConnection() { try { require 'accounts.php'; $conn = new PDO("pgsql:host=$host;dbname=$database", $guestAccount, $guestPassword); } catch (PDOException $e) { echo "Error : " . $e->getMessage() . "<br/>"; die(); } $conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);}我试着把我的要求放进和放出来,但都没用。我真的认为这是直截了当的,但我找不到明显的解决办法。我做错什么了吗?这不是程序吗?当做 最佳答案 我认为您在全局范围内定义了变量,但您尝试在局部范围内使用它。要确认命名作用域问题,请尝试:require 'accounts.php';function guestConnection() { global $host, $database, $guestAccount, $guestPassword; try { $conn = new PDO("pgsql:host=$host;dbname=$database", $guestAccount, $guestPassword); ...如果您的guestConnection()在全局范围内,而不是在任何命名空间或类下,那么这应该有效。如果有任何错误(文件不存在),是否需要移动“”以获得错误?:function guestConnection() { require('accounts.php'); try { $conn = new PDO("pgsql:host=$host;dbname=$database", $guestAccount, $guestPassword); ...关于php - 包含或需要的 undefined variable ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52857148/