2013-08-02 47 views
1

http://steliyanportfolio.zzl.org/致命錯誤:調用一個成員函數準備()非對象上

try { 
    $pdo = new PDO ('localhost', '869276_amsteljlo', 'st08553813', 'steliyanportfolio_zzl_myportfolio'); 
} catch (PDOException $e) { 
    exit ('Database error.'); 
} 

圖集PHP

include_once ('connection.php'); 
var_dump($pdo); 
class Portfolio { 
    public function fetch_all(){ 
     global $pdo; 
     $query = $pdo->prepare("SELECT * FROM portfolio"); 
     $query->execute(); 
     return $query->fetchAll(); 
    } 
+0

公共職能則fetch_data($ portfolio_id){ \t \t \t全球$ PDO; \t \t \t \t \t \t \t $查詢= $ pdo->準備( 「SELECT * FROM組合,並portfolio_id =?」); \t \t \t $ query-> bindValue(1,$ portfolio_id); \t \t \t $ query-> execute(); \t \t \t \t \t \t \t返回$查詢 - >取(); ? \t \t} \t } > –

+0

嘗試'$ pdo->的execute();'和'$返回pdo->使用fetchall();'。我沒有太多的PDO經驗,但這似乎是我的問題。 –

+0

另外,我不會讓你的連接成爲全球性的。我會但在一個函數中,並返回變量。然後只需調用該連接函數並將其放入一個對象中。 –

回答

0

替換:

try { 
    $pdo = new PDO ('localhost', '869276_amsteljlo', 'st08553813', 'steliyanportfolio_zzl_myportfolio'); 
} catch (PDOException $e) { 
    exit ('Database error.'); 
} 

隨着:

$dsn = 'mysql:dbname=steliyanportfolio_zzl_myportfolio;host=127.0.0.1'; 
$user = '869276_amsteljlo'; 
$password = 'st08553813'; 

try { 
    $pdo = new PDO($dsn, $user, $password); 
} catch (PDOException $e) { 
     exit ('Database error.'); 
    } 

總體而言,你的代碼應該是這樣的:

$dsn = 'mysql:dbname=steliyanportfolio_zzl_myportfolio;host=127.0.0.1'; 
    $user = '869276_amsteljlo'; 
    $password = 'st08553813'; 

try { 
    $pdo = new PDO($dsn, $user, $password); 
} catch (PDOException $e) { 
     exit ('Database error.'); 
    } 

    var_dump($pdo); 
class Portfolio { 
    public function fetch_all(){ 
     global $pdo; 
     $query = $pdo->prepare("SELECT * FROM portfolio"); 
     $query->execute(); 
     return $query->fetchAll(); 
    } 
} 
+0

警告:PDO :: __ construct()期望參數4是數組,在第8行中的/www/zzl.org/s/t/e/steliyanportfolio/htdocs/include/portfolio.php中給出的字符串 NULL 致命錯誤:調用成員函數prepare()在第17行的/www/zzl.org/s/t/e/steliyanportfolio/htdocs/include/portfolio.php中的非對象 –

+0

在我的服務器上正常工作,以便檢查任何代碼錯誤。在頁面的底部顯示數據庫錯誤,顯示您的代碼正在工作。 –

+0

在我的locol機器上工作正常,在web服務器上不工作 –

相關問題