php - 当数据库中没有匹配的数据时,回显错误null

标签 php mysql error-handling

我创建了一个简单的表单,该表单搜索输入的用户名与数据库中的用户名的匹配项并显示其名字和姓氏。我在显示错误时遇到问题。当输入的用户名与数据库中的用户名不匹配时,应该显示为空或什么都不显示。我尝试在else语句中回显null,但它仍显示错误消息。

<?php

$db = new PDO('mysql:host=127.0.0.1;dbname=sample;charset=utf8', 'root', '');

if(isset($_POST['search'])) {
    $search = $_POST['search'];

    $query = $db->prepare("SELECT * FROM search WHERE username=:username");
    $query->execute(['username' => $search]);

    $row = $query->fetch(PDO::FETCH_OBJ);

    if(count($row)) {
        echo $row->firstname . ' ' . $row->lastname;
    } else {
        echo null;
    }
}

这不应该显示:
enter image description here

最佳答案

你应该做类似的事情

 if(count($row) > 0) {
    echo $row->firstname . ' ' . $row->lastname;
} else {
    echo null;
}

关于php - 当数据库中没有匹配的数据时,回显错误null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40353832/

相关文章:

php - 使用下拉菜单对电影进行排序

php - 将 MySQL 列存储到数组中,然后在 PHP 中打印

mysql - 如何将多行添加到多个引用

mysql - 错误: a stop job is running for MySQL server

mysql - SQL JOIN 中的重复记录

c++ - sprintf_s 导致崩溃

python - Python-使用特定代码捕获错误

PHP:如何从 foreach 循环内部修改数组(通过引用)

php - 带有 PDOStatement 的 PDO 在出现 "mysql server gone"错误时重新连接

error-handling - 我对以下Rust “reqwest”代码的理解正确吗?