Php пустой результат после исполнения

    <?php
require_once 'init.php';

if(isset($_POST['username'], $_POST['password'])) {

$extractInfoUser = $db->prepare("SELECT * FROM user
WHERE username = :username
");

$extractInfoUser->execute([
'username' => $_POST['username']
]);

$users = $extractInfoUser->rowCount() ? $extractInfoUser : [] ;

foreach ($users as $user) {
if ($user['username'] = null) {
die("There is no username like this !");
} else {
echo "You are not able to register under this username !";
}
}
}
?>

Проблема в том, что я получаю в результате ничего такого !
Пожалуйста, помогите, потому что я не могу найти эту ошибку! Я понятия не имею, что это может быть!

-1

Решение

Вы сделали сопоставление вместо сравнения, поэтому измените это выражение if:

if ($user['username'] = null)

к этому:

if ($user['username'] == null)
//^^ See here 2x '='
3

Другие решения

Ваше утверждение ЕСЛИ неверно, вы устанавливаете вместо проверки.

if ($user['username'] = null) {

Пока вы должны сделать:

if ($user['username'] == null) {

Вы забыли поставить оператор double =, вместо того, чтобы проверять, что вы устанавливали для $ user [‘username’] значение false.

3

По вопросам рекламы [email protected]