PHP Warning: Trying to access array offset on value of type bool
Появляется ошибка PHP Warning: Trying to access array offset on value of type bool в строке $existence = selectOne ('vet_center.userss', ['email' => $email]);с чем может быть связана?
$existence = selectOne ('vet_center.userss', ['email' => $email]);
if ($existence ['email'] === $email){
$errMsg = "Пользователь с такой почтой уже зарегистрирован!";
} else{
$pass = password_hash($password, PASSWORD_DEFAULT);
$post = [
'username' => $login,
'email' => $email,
'password' => $pass,
'admin' => $admin
];
Код для функции selectOne:
function selectOne($table,$params = []){
global $pdo;
$sql = "SELECT * FROM $table";
if(!empty($params)){
$i=0;
foreach ($params as $key => $value) {
if (!is_numeric($value)){
$value = "'".$value."'";
}
if ($i === 0){
$sql = $sql . " WHERE $key = $value";
}else{
$sql = $sql . " AND $key = $value";
}
$i++;
}
}
$sql = $sql . " LIMIT 1";
$query = $pdo->prepare ($sql);
$query->execute();
dbCheckError($query);
return $query -> fetch();
}
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Скорее всего ошибка не на этой строке
$existence = selectOne ('vet_center.userss', ['email' => $email]);
а на этой:
if ($existence ['email'] === $email){
Т.к в $existence в итоге лежит булево значение, т.к. selectOne вернул false