Почему не вызывается метод обьекта?

zdimon

Новичок
Почему не вызывается метод обьекта?

При попытке вставить в базу данные таким образом в QF.
if ($form->validate()) {
# If the form validates then freeze the data
$form->process('process_data', false);

$form->freeze();
$form->display();
}
else
{
$form->display();
}
function process_data ($values) {
$sql= "INSERT INTO users (login,password)VALUES('$firstname','$lastname')";
$res= $db->query($sql);
}

Выдает ошибку
Call to a member function on a non-object.
 

zdimon

Новичок
Ошибка относиться к строке
$res= $db->query($sql);

т.е. при попытке вызвать этот метод в функции, появляется ошибка, а если за функцией, то все работает.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: zdimon
т.е. при попытке вызвать этот метод в функции, появляется ошибка, а если за функцией, то все работает.
п..дец. а ты в функции определяешь переменную $db, да?
 

zdimon

Новичок
Пробовал определять так внутри ф-ции
$db= DB::connect($dsn, true);
непомогло
вообщето $db у меня как в мануале описано создается в отдельном файле connect.php и инклудиться.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: zdimon
вообщето $db у меня как в мануале описано создается в отдельном файле connect.php и инклудиться.
То, что ты мануалы всё-таки читаешь --- похвально. Вот ещё почитай мануал на тему области видимости переменных, думаю вопросы разрешатся сами собой.
 
Сверху