首页 > 解决方案 > 错误:试图访问 bool 类型值的数组偏移量

问题描述

我在 php 类中有一个功能:

public function details($id) {
        try {
            $sql = "SELECT * FROM khoa WHERE ma_khoa = :ma";
            $stmt = $this->db->prepare($sql);
            $stmt->bindparam(":ma", $ma);
            $stmt->execute();
            $result = $stmt->fetch();
            return $result; 
        } catch (Exception $e) {
            echo $e->getMessage();
            return false;
        }
    }

然后,我以形式使用此功能:

<form method="POST" action="update_post.php"> 
    <div class="row100">
        <div class="col">
            <div class="inputBox">
                <input type="text">
                <input type="text" value="<?php echo $kh['ma_khoa']; ?>" name="makhoa">
                <span class="text">Mã khoa</span>
                <span class="line"></span>
            </div>
        </div>
    </div>
</form>

$kh = $khoa->details($id);$khoa 是连接数据库的变量。

但我收到此通知:

在此处输入图像描述

你能为我解释一下这个错误以及解决这个问题的方法吗?

标签: phpfunctionpdo

解决方案


正如你的日志所说,你的电话$kh = $khoa->details($id);$kh = false 所以请重新检查和调试你的详细信息功能。

当然,false 是一个 bool 值,不能作为数组访问。


推荐阅读