php - PHP 连接类
问题描述
我试图在 PHP 中创建一个连接类来连接数据库数据,但是出现了一个错误:
const USER = "{$value['user_DB']}";
const PASS = "{$value['password_DB']}";
致命错误:常量表达式在第 21 行的 C:\xampp\htdocs\dev\davinci\classes\Conexao_Teste.class.php 中包含无效操作
<?php
require_once"../classes/configDB.class.php";
abstract class conection extends configDB{
private $valor;
private $instanceConfigDB;
public function listDB(){
$valor = $instanceConfigDB->listconfigDB();
foreach($valor as $value){
echo "Banco: ID:{$value['id_db']} - Hostname:{$value['hostname']} - DBNAME:{$value['dbname']} - User:{$value['user_DB']} - PASS:{$value['password_DB']}<br>";
}
}
const USER = "{$value['user_DB']}";
const PASS = "{$value['password_DB']}";
private static $instance = null;
private static function conect(){
try {
if(self:: $instance==null):
$dsn = "mysql:host={$value['hostname']};dbname={$value['dbname']};charset=utf8";
self::$instance = new PDO($dsn, self::USER, self::PASS);
self::$instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
endif;
} catch (PDOException $e) {
echo "Erro: " . $e->getMessage();
}
return self::$instance;
}
protected static function getDB() {
return self::conect();
}
}
?>
解决方案
你应该使用
define('USER', "{$value['user_DB']}");
as const 将在编译时评估,而 as define 将在运行时评估。
推荐阅读
- css - 在 Kendo Grid 单元格中添加链接按钮(可编辑)
- c# - C# 将枚举“名称”和枚举值传递给方法
- opencv - 如何为 OpenCV 项目创建一个简单的 makefile?
- oracle-apex - 如何调用 AJAX 回调来上传文件?
- stanford-nlp - Google Colab 中的情感分析斯坦福 NLP
- here-api - HERE api Auto 建议不再返回位置
- javascript - 单击编辑按钮时如何获取图像名称?
- html - 悬停不覆盖整个 li - css
- azure - Azure DevOps - 多租户数据库部署
- android - 添加到迁移后,当前架构中不存在类