Prestashop Db :: getInstance() - > update()返回未定义的变量

时间:2015-04-16 03:41:03

标签: php csv import prestashop prestashop-1.5

我尝试导入我的CSV文件来更新我的产品,它一直给我时间,2周后,我们排除了服务器是问题(我们尝试更改max_execution_time,memory_limit,或者我们认为会导致它的任何事情)

错误日志显示以下错误: PHP注意:未定义的变量:在第1518行的/var/www/vhosts/22/xxxxxx/webspace/httpdocs/xxxxxx/controllers/admin/AdminImportController.php中返回

这是我们添加的自定义代码,用于对我们的产品列表进行排序; 以下是代码

$prod_pos = get_object_vars($product);

            if (isset($info['position']) && !empty($info['position']))
            {

                $update_prod_cat_id = array();
                for ($i = 0; $i < count($product->category); $i++)
                {
                    if (is_numeric($product->category[$i])){
                        $return &= Db::getInstance()->update('category_product', array(
                            'position' => $info['position'],
                        ), '`id_category` = '.(int)$product->category[$i].' AND `id_product` = '.(int)$product->id);
                    }
                    else
                    {
                        $update_prod_cat_id[] = Category::searchByName($default_language_id, trim($product->category[$i]), true);
                        $return &= Db::getInstance()->update('category_product', array(
                            'position' => $info['position'],
                        ), '`id_category` = '.(int)$pos_cat_id['id_category'].' AND `id_product` = '.(int)$product->id);
                    }
                }

            }

有趣的是这个代码工作直到我们将托管移动到云托管然后每次我们尝试上传超过300行的CSV文件时,它只会超时并且错误日志将显示上述错误!< / p>

我想知道db :: getInstance() - &gt; update()是否需要db_prefix 但我读到它会在我们使用这个实例时自动显示它。 我不确定。我尝试了一切,虽然它会起作用,但事实并非如此。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  1. 从我在代码中看到的情况来看,在分配的两行上未定义varable $ return
  2. 可能是脚本真的超时,但这可以在调试过程中确认。上面的代码似乎没问题。
  3. 在您的情况下会自动添加db前缀。