【问题标题】:Codeigniter error Message: Undefined property: stdClass::$members_idCodeigniter 错误消息:未定义的属性:stdClass::$members_id
【发布时间】:2013-11-21 14:24:15
【问题描述】:

我在运行 PHP Code Igniter 项目时收到此错误消息:

遇到了 PHP 错误

严重性:通知

消息:未定义的属性:stdClass::$members_id

文件名:models/mtree.php

行号:33

在第 33 行 ($row->members_id) 引用我数据库中的字段

VALUES (" . $this->db->escape($row->members_id) . ", " . $this->db->escape($left_parent) . ")";

我的模型函数是:

function insert_to_right($direct_id='members_direct_id') {
        $left_parent = $this->get_right_parent('members_id');
        $row->members_direct_id = $left_parent;
        $row->members_spillover_id = $left_parent;
        $this->db->insert('ajmatrix_members_table', $row);
        $sql = "INSERT INTO ayman_mot (child, parent)
        VALUES (" . $this->db->escape($row->members_id) . ", " . $this->db->escape($left_parent) . ")";
        $this->db->query($sql);
    }

【问题讨论】:

  • 错误信息说..
  • 检查$row是否有members_id,比如if(!empty($row->members_id)) ....

标签: php codeigniter


【解决方案1】:

您的代码在行中没有 members_id 属性。

$row 变量只有 2 个属性:

    $row->members_direct_id = $left_parent;
    $row->members_spillover_id = $left_parent;

【讨论】:

    【解决方案2】:

    在您的 模型 中您有 db select 语句的地方,例如:

    $this->db->select('field1, field2, field3, field4');

    尝试将其替换为:

    $this->db->select('*');

    在通过论坛讨论了数周之后,对我来说很有效。 虽然我最初的错误是这样写的:

    $this->db->select('field1', 'field2', 'field3', 'field4');

    ~ 错误是我们犯的~(在此自说自话,别打我^_^) 最好的问候

    【讨论】:

      【解决方案3】:

      您没有在代码中定义 $row->members_id - 在其他地方您引用了 members_direct_id - 这可能是您打算使用的吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-13
        • 2019-06-15
        • 1970-01-01
        相关资源
        最近更新 更多