注意:未定义的偏移量:0....override/classes/Category.php 在第 18 行

Notice: Undefined offset: 0....override/classes/Category.php on line 18

我使用 prestashop 1.6.1.12 我用 php 7.1

我收到此错误消息 10 次:

Notice: Undefined offset: 0....override/classes/Category.php on line 18

category.php内容为:

<?php
/**
*
*add function for image2 for for class product.php
*
**/
class Category extends CategoryCore
{
    public static function getProductsImgSupp($product_id)
    {
            $sql = '
            SELECT id_image, id_product from `'._DB_PREFIX_.'image`
            WHERE id_product="'.$product_id.'"
            ORDER BY `position` ASC
            LIMIT 1,1
            ';
            $result = Db::getInstance()->ExecuteS($sql);
            return $result[0]['id_product'].'-'.$result[0]['id_image'];
    }
}

有没有办法纠正这个错误?

您的sql没有return任何记录。

2 个原因:

  1. table ...image 中没有图片(可能是正确的)

  1. 传递给您的方法的 product_id 不正确。

如何修复?

案例 1:

$result = Db::getInstance()->ExecuteS($sql);

if (empty($result)) {
    return null; // you may have to deal with this null if you arent already
}

return $result[0]['id_product'].'-'.$result[0]['id_image'];

案例二:

检查调用 getProductsImgSupp 的代码,看看是否传递了正确的 ID。