If statement 当获取的数组为空时,如何使用EMPTY显示错误(初学者)

If statement 当获取的数组为空时,如何使用EMPTY显示错误(初学者),if-statement,syntax,return-value,fetch,is-empty,If Statement,Syntax,Return Value,Fetch,Is Empty,我是一个初学者,我认为有一个我没有看到的细节阻止了我的代码运行。几个小时以来,我一直在努力了解发生了什么。如果我的$数据为空,我希望显示一条错误消息。这不会发生。我无法理解这段代码的错误 try {$database = new PDO('mysql:host=localhost;dbname=miniblog', 'root', '');} catch(Exception $e) {die('horror : '.$e->getmessage());} $answer =

我是一个初学者,我认为有一个我没有看到的细节阻止了我的代码运行。几个小时以来,我一直在努力了解发生了什么。如果我的$数据为空,我希望显示一条错误消息。这不会发生。我无法理解这段代码的错误

    try {$database = new PDO('mysql:host=localhost;dbname=miniblog', 'root', '');}
catch(Exception $e) {die('horror : '.$e->getmessage());}
    $answer = $database->query('SELECT id, content FROM blog WHERE id= ' . $_GET['id'] . ' ' ) ;


// Instruct display conditions

        while ($data = $answer->fetch()) 
        { 
        if (empty($data))
        {echo "ERROR there is no such article" ;}
        else
        {echo '<h3 class="news">' . ($data['content']) . '</h3>';}          
        }
try {$database = new PDO('mysql:host=localhost;dbname=miniblog', 'root', '');}
试试{$database=newpdo('mysql:host=localhost;dbname=miniblog','root','';}
catch(异常$e){die('horror:'.$e->getmessage());}
$answer=$database->query('SELECT id,content FROM blog WHERE id='。$\u GET['id'].');
//指示显示条件
而($data=$answer->fetch())
{ 
if(空($数据))
{echo“错误:没有这样的文章”;}
其他的
{echo'。($data['content'])。';}
}

问题可以使用if语句解决。while语句在为false时无法生成错误,因为while语句在为false时甚至不会运行

如果使用if,则不需要使用empty:

 favorite
我是一个初学者,我认为有一个我没有看到的细节阻止了我的代码运行。几个小时以来,我一直在努力了解发生了什么。如果我的$数据为空,我希望显示一条错误消息。这不会发生。我无法理解这段代码的错误

    try {$database = new PDO('mysql:host=localhost;dbname=miniblog', 'root', '');}
catch(Exception $e) {die('horror : '.$e->getmessage());}
    $answer = $database->query('SELECT id, content FROM blog WHERE id= ' . $_GET['id'] . ' ' ) ;


// Instruct display conditions

        while ($data = $answer->fetch()) 
        { 
        if (empty($data))
        {echo "ERROR there is no such article" ;}
        else
        {echo '<h3 class="news">' . ($data['content']) . '</h3>';}          
        }
try {$database = new PDO('mysql:host=localhost;dbname=miniblog', 'root', '');}
catch(异常$e){die('horror:'.$e->getmessage());} $answer=$database->query('SELECT id,content FROM blog WHERE id='。$\u GET['id'].'); //指示显示条件 如果($data=$answer->fetch()) {echo'Article'.$_GET['id'].'。($data['content'])。;}
其他的 {echo“错误,没有这样的文章”;}
//闭环 $answer->CloseCursor()


问题解决了:答案很简单。我的错误是试图在while语句中使用empty。而如果这不是真的,它将根本不会运行!我甚至不需要使用empty,我所要做的就是使用if语句而不是while语句: