PDO MySQL的“无效数据源名称”

时间:2013-06-07 09:25:01

标签: php mysql pdo ini

这对我来说总是有用,但这次不是。

conect.ini

conn = "mysql:host=localhost; dbname=%dbname%"
user = "root"
pass = "%passwd%"
conn1 = "mysql:host=%myRealHostAddr%; dbname=%dbname%"
user1 = "%user%"
pass1 = "%passwd%"

PDO

class prepeared {
    const LOG = "lock/loginsStat.log";
    private $_db;
    private $dbc;

    function __construct(){
        $this->dbc = parse_ini_file($_SERVER["DOCUMENT_ROOT"]."/hours/lock/conect.ini");
        try{
            $this->_db = new PDO($this->dbc["conn"], $this->dbc["user"], $this->dbc["pass"]);
        }catch(PDOException $e){
            echo $e->getMessage();
        }
    }

等.... Vars%var%是实际值,只是为这篇文章更改了它们。 带有1的Vars正在托管工作正常(没有1,它只是为本地测试添加)。当我把它带到本地机器进行一些测试时,我添加这个1来禁用它们并为本地设置制作新的变量。

我现在看到的错误是

  

无效的数据源名称

任何想法为什么?我知道这个配置在我几周前使用它时运行得很好所以我怀疑这里没有错误。可能我错了......

1 个答案:

答案 0 :(得分:0)

  1. 摆脱catch(PDOException $e){ echo $e->getMessage();}内容,以获取完整和有用的错误消息,而不是您目前拥有的存根。
  2. var_dump($this->dbc);也有很多帮助。