Php 执行后结果为空

Php empty result after execution

    <?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 !";
        }
    }
}
?>

问题是我得到的结果是什么都没有! 请帮忙,因为我找不到这个错误!我不知道它会是什么!

你的IF语句是错误的,你是设置而不是检查。

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

虽然你应该这样做:

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

您忘记输入 double = 运算符,而不是检查您是否将 $user['username'] 设置为 false。

你做了一个赋值而不是一个比较,所以改变这个 if 语句:

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

对此:

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