我有这个进度条,描述中显示的内容取决于客户是否设置了他的目标奖励(如果值为空,则通过在数据库中检查),但我将一个值设置为非空值,并且它总是打印“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>";}
1 回答
婷婷同学_
TA贡献1844条经验 获得超8个赞
你fetch()
错误地宣布了你的命令;
$row = $stm->fetch(PDO::FETCH_ASSOC);
应该
$row = $stm_track->fetch(PDO::FETCH_ASSOC);
当您直接写入 PDO 类时,这些类型的错误很容易犯,我建议使用 PDO 包装器,它可以为您更自动地处理这些错误。
- 1 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消