首页 > 解决方案 > php“如果”没有答案

问题描述

这个问题应该很容易解决,但是我不能... 请求后,有条件验证相关文章是否真的存在,验证URL($_GET)。

我的代码:(带有简单回声的测试文件)

    $id = $bdd->prepare('SELECT content FROM articles WHERE idArticle = ?');
    $id->execute(array($_GET['numArticle']));

    while ($dataID = $id->fetch()) {
        if (empty($dataID) or $dataID == null or !isset($dataID)) {   
           echo 'No content';
        } else {
            echo 'Can load the page';
        }
    }

    $id->closeCursor(); 

页面行为:“可以加载页面”是在 numArticle 正确时写入,但如果不是,则不会出现任何内容,也不会出现错误消息或其他内容。有什么想法/建议吗?谢谢你。

标签: phpmysqlconditional-statements

解决方案


假设您正在使用 Pdo,看起来您想要使用 Pdo 的 fetchColumn 方法。

<?php

$stmt = $db->prepare('SELECT content FROM articles WHERE idArticle = ? LIMIT 1');
$stmt->execute(array($_GET['numArticle']));

if ($result = $stmt->fetchColumn()) {
    echo 'A result';
} else {
    echo 'Db fetch returned false (or could be a string that evaluates to false).';
}

推荐阅读