2013-06-01 121 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

相关问题