Я запрашиваю БД, и когда я использую 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)
, чтобы увидеть, получаю ли я ожидаемый результат, и получаю:
Тогда у меня есть 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 попробовать и посмотреть, где я ошибся?