首页 > 解决方案 > 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();

    }


}
?>                  

标签: phplogin

解决方案


你应该使用

define('USER', "{$value['user_DB']}");

as const 将在编译时评估,而 as define 将在运行时评估。


推荐阅读