进度条问题

我有这个进度条,描述中显示的内容取决于客户是否设置了他的目标奖励(如果值为空,则通过在数据库中检查),但我将一个值设置为非空值,并且它总是打印“if null”情况。有人可以帮忙吗?


创建数据库时使用的代码:


  target varchar(50) DEFAULT NULL

# I put the current value to be "Bitcoin"

我检查值的代码:


$conn = new PDO($dsn, $username1, $password);

        $conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


        $stm_track = $conn->prepare("SELECT target FROM users WHERE username = :username");

        $stm_track->bindParam(":username", $username, PDO::PARAM_INT);

        $stm_track->execute();

        $row = $stm->fetch(PDO::FETCH_ASSOC);

if (is_null($row['target'])) {

        echo "<strong>Bookmark a reward and track your progress!</strong>";

} else {

        echo "<strong>Track your progress for next reward: " . $row['target'] . "</strong>";

}


Smart猫小萌
浏览 149回答 1
1回答

婷婷同学_

你fetch()错误地宣布了你的命令;$row&nbsp;=&nbsp;$stm->fetch(PDO::FETCH_ASSOC);应该$row&nbsp;=&nbsp;$stm_track->fetch(PDO::FETCH_ASSOC);当您直接写入 PDO 类时,这些类型的错误很容易犯,我建议使用 PDO 包装器,它可以为您更自动地处理这些错误。
打开App,查看更多内容
随时随地看视频慕课网APP