2013-06-01 3 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 Yeah, обновленный ответ. – hjpotter92

Смежные вопросы