Po přidání return hodnoty je parametr funkce undefined
- kikinet
- Člen | 35
EDIT: Omlouvám se za zmatek, moje chyba. Funkce byla volána ze dvou souborů, přičemž v jednom chyběly hodnoty fomuláře.
Ahoj,
mám funkci, která mi z db vytáhne všechny údaje o uživateli, kterého
chci updatovat. Bohužel, pořád ji nějak nemůžu rozchodit.
Pěkně od začátku: Mám jednoduchý formulář se dvěma imputy –
username, email. Hodnoty z formuláře se vrací jako objekt
( [username] => nekdo [email] => neco )
. Tento objekt
(hodnoty po odeslání formuláře) je v proměnné $values předáván do
funckce getData(), která vypadá takto:
public function getData($values)
{
if ($values['username'] != ""){
$user_data = $this->database->table(self::USERS_TABLE_NAME)->where(self::USERS_NAME, $values['username'])->fetch();
} else if ($values['email'] != "") {
$user_data = $this->database->table(self::USERS_TABLE_NAME)->where(self::USERS_EMAIL, $values['email'])->fetch();
}
return $user_data;
}
Tento kód ale vyhodí hlášku
Cannot read an undeclared column 'username'.
Stejně tak jsem místo $values['username']
zkoušela
$values->username
což vede ke stejné chybové hlášce.
Pokud změním řádek return $user_data;
na
print_r($user_data);
objeví chybová hláška:
Undefined variable: user_data
, což znamená, že kód neprošel
ani jednou podmínkou… Což je blbost pokud položky vyplním (je povinné
vyplnit alespoň jedno pole).
Kde dělám chybu?
Editoval kikinet (10. 3. 2015 23:25)