2014-08-28 63 views
-1

我試圖創建一個日誌/註冊系統,但我得到了這個警告錯誤,我無法修復它。__construct()期望參數2是字符串

警告:PDO :: __結構()預計參數2爲字符串

這裏是我到目前爲止的代碼

db.php中

<?php 
class DB { 
    private static $_instance = null; 

    private $_pdo, 
      $_query = null, 
      $_error = false, 
      $_results, 
      $_count = 0; 

    private function __construct() { 
     try { 
      $this->_pdo = new PDO('mysql:host=' . Config::get('mysql/host').';'. 
                   'dbname='.Config::get('mysql/db'), 
                   Config::get('msql/username'), 
                   Config::get('msql/password')); 
     } catch(PDOExeption $e) { 
      die($e->getMessage()); 
     } 
    } 

    public static function getInstance() { 
     if (!isset(self::$_instance)){ 
      self::$_instance = new DB(); 
     } 
     return self::$_instance; 
    } 
} 

的init.php

<?php 
session_start(); 

$GLOBALS['config'] = array (
    'mysql' => array(
     'host' => '127.0.01', 
     'username' => 'root', 
     'password' => '', 
     'db' => 'lr' 
    ), 
    'remember' => array(
     'cookie_name' => 'hash', 
     'cookie_expiry' => 604800 
    ), 
    'session' => array(
     'session_name' => 'user' 
    ) 
); 

spl_autoload_register(function($class){ 
    require_once 'classes/' . $class . '.php'; 
}); 

require_once 'functions/sanitize.php'; 
?> 

index.php

<?php 
require 'core/init.php'; 

DB::getInstance(); 
?> 
+0

檢查'Config'對象。它沒有返回一個字符串。 – 2014-08-28 05:08:45

+0

您是否使用了一些框架,否則您的** Config **類會出現意想不到的情況。 – anwerj 2014-08-28 05:10:57

+0

什麼是'Config'以及它的get()方法是如何工作的?很可能,它會爲關鍵失誤返回一個非字符串值。 – Phil 2014-08-28 05:26:40

回答

3

錯字

Config::get('msql/username'), 

應該

Config::get('mysql/username'), 
      ^

相同的密碼。有了這個錯字,你會得到一個無效的值,因此錯誤。

+0

謝謝,我很慚愧,我沒有趕上那些以及我的主人,但謝謝! – noob1234 2014-08-28 05:47:11

0

改變這一點:

$this->_pdo = new PDO('mysql:host=' . Config::get('mysql/host').';'. 
                   'dbname='.Config::get('mysql/db'), 
                   Config::get('msql/username'), 
                   Config::get('msql/password')); 

$this->_pdo = new PDO('mysql:host=' . Config::get('mysql/host').';'. 
                   'dbname='.Config::get('mysql/db'), 
                   Config::get('mysql/username'), 
                   Config::get('mysql/password')); 
相關問題