函数不从更新的表返回新数据

时间:2015-02-11 16:12:24

标签: php mysql database function

我通过编辑器(SQLyog)将新行上传到表中。该表已有数据。该表也在上传之前编入索引。上传新数据后,当任务在测试期间查找新数据时,代码会发出调试消息“无数据”(见下文),但它会返回预先存在的数据。此外,编辑器中的MySQL查询将返回新数据。

如果重要,该表是MyISAM表。

我应该怎么做才能让代码/函数返回新数据?

以下是返回调试消息的代码片段:

            $code = $this->_addData($order_product['pid'],$order_product['qty'],$order_id);
            $order_product['code'] = $code;

            if(!$code) {

                $this->log->debug('No data');

我有一种感觉,答案在于我在上传数据时没有做过的事情或在那里做错了,因为代码可以很好地找到现有数据。当然,我可能完全错了。

编辑:下面是addData函数。显然,那里还有一些额外的函数调用。同样,这些都适用于表中“预先存在的”数据,但似乎没有找到“新”数据行。

protected function _addData($product_id,$quantity,$order_id){

    $this->load->model('checkout/data');

    if($this->model_checkout_data->productHasCampaign($product_id)){

        $this->_hasData = true;

        $codes = $this->model_checkout_data->checkAvailableData($product_id,$quantity);

        //if there is data, update them
        if(count($codes) == $quantity){
            foreach($codes as $code){
                $this->model_checkout_data->confirmCode($code['id'],$order_id);
            }
        } else {
            //Redirect to Cart
            $this->session->data['error_code'] = ERROR_OUT_OF_DATA;
            header('Location: index.php?checkout/cart');
            return;
        }

        $this->model_checkout_data->updateProductQuantity($product_id);

        $this->_Data[$product_id] = $codes;

        return $codes;

    }

    return false;

}

0 个答案:

没有答案