PHP не возвращает значение fetchAll (PDO :: FETCH_OBJ) в foreach - PullRequest
0 голосов
/ 22 ноября 2018

Я запрашиваю БД, и когда я использую print_r(), я получаю ожидаемый вывод, но когда я подаю вывод в цикл foreach, я не получаю значения.

Мой класс с егоМетод:

class select_data {

    public function get_parent_id($parent_email) {
        //$parent_ids = array();

        try {

            $db = new database;
            $conn = $db->databaseConnect();

            $select_parent_ids_stmt = $conn->prepare('SELECT uid, parent_id, email_of  FROM emails WHERE email_address =:parent_email LIMIT 2');

            $select_parent_ids_stmt->bindParam(':parent_email', $parent_email, PDO::PARAM_STR);

            $select_parent_ids_stmt->execute();

            if($select_parent_ids_stmt->rowCount() === 1){
                $parent_ids = $select_parent_ids_stmt->fetchAll(PDO::FETCH_OBJ);
            }
            $conn = NULL;

        } catch (PDOException $e) {
            echo 'Could not process your request at this time.';
        }

        //Resturn the result
        return $parent_ids;
    }
}

Здесь я вызываю метод:

$select_parent_ids = new select_data;
$parent_ids = $select_parent_ids->get_parent_id($parent_email);

Здесь я использую print_r($parent_ids), чтобы увидеть, получаю ли я ожидаемый результат, и получаю: Print_r screenshot

Тогда у меня есть foreach петля.Это код:

foreach ($parent_ids as $key => $value) {
       $db_uid = $value->uid;
       $parent_id = $value->parent_id;
       $email_of = $value->email_of;
       return $email_of;
}

После этого я делаю что-то на основе результата, но это не работает, потому что я получаю только пустое возвращение, где я ожидаю получить возвращение Parent (на основескриншот предоставлен. Я также попробовал $email_of = $value['email_of'] с тем же пустым результатом.

Может ли ant попробовать и посмотреть, где я ошибся?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...