Php 预停车通知:未定义的偏移量:0
我使用prestashop 1.5.6,我试着跟随 它可以工作,但在页面顶部也会出现24次错误: 注意:未定义的偏移量:0英寸 /home/deveskemhu/www/classes/Category.php,第3157行 我必须在最后一个括号之前添加以下内容:Php 预停车通知:未定义的偏移量:0,php,mysql,prestashop,prestashop-1.6,prestashop-1.5,Php,Mysql,Prestashop,Prestashop 1.6,Prestashop 1.5,我使用prestashop 1.5.6,我试着跟随 它可以工作,但在页面顶部也会出现24次错误: 注意:未定义的偏移量:0英寸 /home/deveskemhu/www/classes/Category.php,第3157行 我必须在最后一个括号之前添加以下内容: public static function getProductsImgSupp($product_id) { $sql = ' SELECT id_image, id_product from `
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'];
}
在上述代码中,第3157行位于右括号之前
我能做些什么来修复它?试试:
public static function getProductsImgSupp($product_id) {
$sql = '
SELECT id_image FROM `'._DB_PREFIX_.'image`
WHERE id_product="'.$product_id.'"
ORDER BY `position`';
$id_image = Db::getInstance()->getValue($sql);
return $product_id.'-'.$id_image;
}
关于请尝试:
public static function getProductsImgSupp($product_id) {
$sql = '
SELECT id_image FROM `'._DB_PREFIX_.'image`
WHERE id_product="'.$product_id.'"
ORDER BY `position`';
$id_image = Db::getInstance()->getValue($sql);
return $product_id.'-'.$id_image;
}
这是因为并非每个
$result
都有一个索引[0]
-表示其为空
首先添加if
语句行以检查它是否为空:
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);
if(isset($result[0])){
return $result[0]['id_product'].'-'.$result[0]['id_image'];
}
// Here you could put an else in case it's empty
}
这是因为并非每个
$result
都有一个索引[0]
-表示其为空
首先添加if
语句行以检查它是否为空:
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);
if(isset($result[0])){
return $result[0]['id_product'].'-'.$result[0]['id_image'];
}
// Here you could put an else in case it's empty
}
您是否尝试过
print\r($result)
以查看它所保存的数据?我现在会。我现在有52行错误,而不是26行错误。是的,因为26行来自return
和+26行来自print\r()
使用它<代码>$result=Db::getInstance()->执行($sql);打印(结果);返回您是否尝试过打印($result)
以查看它所保存的数据?我现在会。我现在有52行错误,而不是26行错误。是的,因为26行来自返回和+26行来自打印()<代码>$result=Db::getInstance()->执行($sql);打印(结果);返回代码>太棒了,我已经尝试过你的解决方案,即使我升级到PHP7.3.5,它也能像一个符咒一样工作if(isset($result[0]){name=$result[0];}
Awesome,我已经尝试过你的解决方案,即使在升级到PHP7.3.5时,它也像一个魔咒一样工作if(isset($result[0]){name=$result[0];}