如何在 Fat Free Framework 的新 mysql 接口中使用变量

我正在用无脂肪框架努力解决这个问题:


$db=new DB\SQL(

    'mysql:host=localhost;port=3306;dbname=mysqldb',

    'admin',

    'p455w0rD'

);

如何在纯文本上使用变量?我想使用环境变量并执行以下操作:


$db=new DB\SQL(

    'mysql:host='.getenv('HOST').';port=3306;dbname=mysqldb',

    getenv('USERNAME'),

    getenv('PASSWORD');

);

但是,它不起作用,而且我找不到另一种方法来输入 sql 凭据:( 这是文档:https: //fatfreeframework.com/3.7/databases


这是我上面代码的错误:


Internal Server Error

SQLSTATE[HY000] [2002] No such file or directory [/Users/kasterby/Documents/yeet/yeet/fatfree-master/lib/DB/SQL.php:519]


杨__羊羊
浏览 104回答 1
1回答

慕姐4208626

No such file or directory通常意味着您的 MySQL 服务器未启动并运行。具体来说,为了回答您的问题,如果您想要使用一个变量而不是对其进行硬编码,那非常简单。您可以使用配置文件,也可以创建一个完全独立的文件,例如PHP 的 ini 解析函数,甚至是一个简单的config.php文件,如下所示:// repo/config.php<?phpreturn [    'db_name' => 'database',    'db_user' => 'someusername',    // etc];// repo/public/index.php$config = require('config.php');$db = new DB\SQL(    'mysql:host='.$config['db_host'].';port='.$config['db_port'].';dbname='.$config['db_name'],    $config['db_user'],    $config['db_pass']);不过,具体到您的问题,如果您需要环境变量,这取决于您的网络服务器,但您必须在网络服务器配置中定义环境变量才能使用它们。您还可以创建一个.env与 Laravel 类似的文件,并使用此处.env提到的库解析该文件
打开App,查看更多内容
随时随地看视频慕课网APP