2013-06-01 154 views
-2

問題是爲什麼這是一個非對象。數據庫連接成功,表格和列都在那裏。致命錯誤:調用成員函數prepare()在非對象上

這是我的代碼。

<?php 
$config['db'] = array(
    'host'  => 'localhost', 
    'username' => 'root', 
    'password' => '', 
    'dbname' => 'inb271assignment' 
); 

$pdo = new PDO('mysql:host=' . $config['db']['host'] . '; dbname=' . $config['db']['dbname'], $config['db']['username'], $config['db']['password']); 

//New Data 
$username = 'albert'; 
$password = 'ben'; 

$query = "INSERT INTO members (Username, Password) VALUES (:username, :password)"; 
$q = $conn->prepare($query); 
$q->execute(array(':username' => $username, 
        ':password' => $password)); 

?> 

並且這一行給出錯誤。

$q = $conn->prepare($query); 

謝謝。

+0

[PDO查詢失敗,但我看不到任何錯誤。如何從PDO得到一個錯誤信息?](http://stackoverflow.com/questions/15990857/reference-frequently-asked-questions-about-pdo#15990858) –

+0

var_dump或print_r $ pdo – Orangepill

回答

2

錯誤在於您聲明的PDO連接對象爲$pdo,並且您正在使用$conn上的準備工作。

$q = $pdo->prepare($query); 
+0

順便說一下,我認爲密碼只保留在PostgreSQL – Ziarno

+0

@Ziarno是的,更新了答案。 – hjpotter92

相關問題