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

时间:2016-11-01 03:41:16

标签: php mysql error-handling

我创建了一个简单的表单,用于搜索输入的用户名与数据库中的用户名匹配,并显示其名字和姓氏。我在显示错误时遇到问题。当输入的用户名与数据库中的用户名不匹配时,它应该显示为null或什么都不显示。我尝试在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

1 个答案:

答案 0 :(得分:0)

您应该执行类似

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