为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
杨__羊羊 2023-11-03 15:32:36
我正在用无脂肪框架努力解决这个问题:$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 ErrorSQLSTATE[HY000] [2002] No such file or directory [/Users/kasterby/Documents/yeet/yeet/fatfree-master/lib/DB/SQL.php:519]
查看完整描述

1 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

No such file or directory通常意味着您的 MySQL 服务器未启动并运行。

具体来说,为了回答您的问题,如果您想要使用一个变量而不是对其进行硬编码,那非常简单。您可以使用配置文件,也可以创建一个完全独立的文件,例如PHP 的 ini 解析函数,甚至是一个简单的config.php文件,如下所示:

// repo/config.php

<?php

return [

    '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提到的库解析该文件


查看完整回答
反对 回复 2023-11-03
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信