Я новичок в мире OOP и PDO, и вам просто нужно немного руки, когда возвращаете данные в одну функцию и хотите использовать ее внутри другой функции.Как использовать массив из одной функции, внутри другой функции
Ниже приведена моя функция, чтобы получить все данные gecko из моей базы данных, в настоящий момент у меня есть распечатка массива, поэтому я знаю, что он работает.
функция getGecko:
public function getGecko($geckoName){
$dbh = $this->dbh;
try {
if (!$geckoName) {
throw new Exception("No gecko name set!");
}
$stmt = $dbh->query("SELECT * FROM geckos WHERE gecko_name = '$geckoName'");
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$row_count = $stmt->rowCount();
$row = $stmt->fetch();
if($row_count > 0){
print_r($row);
return true;
} else {
echo 'No information found for '.$geckoName.'!';
return false;
}
}
catch (Exception $e) {
echo $e->getMessage();
}
}
, который выводит, как - Array ([gecko_id] => 1 [gecko_name] => Zilly [gecko_aquisition_date] => 0000-00-00 [gecko_type] => Normal [gecko_gender] => Male [gecko_traits] => [gecko_bio] => Hench bastard [gecko_health_check] => All good! [gecko_bred] => 0 [gecko_hatchling] => 0 [gecko_clutch] => [gecko_photo] =>)
- нет проблем.
Но я хочу использовать эти данные внутри функции, называемой getMorph, для использования [gecko_type] => Normal
. Я пробовал такие вещи, как:
public function getMorph($geckoName){
$this->getGecko($geckoName);
echo $row['gecko_type'];
}
Но он ничего не возвращает. Я довольно привык к php в процедурный смысл, я просто пытаюсь улучшить себя и свой код и хотел застрять в ООП. Я извиняюсь, если это считается вопросом «noob», но, как я говорю, я пытаюсь учиться.
Спасибо за ваше время :)
где находится $ строка определяется в getMorph? если вы вернете что-то в переменную? $ This-> getGecko ($ geckoName); возвращает true, но никогда не задается переменной –