Php 致命错误:对中的非对象调用成员函数setsku()

Php 致命错误:对中的非对象调用成员函数setsku(),php,sql-update,Php,Sql Update,我查了3个多小时的相关话题,找不到解决办法。 我尝试从csv文件更新数据库中的批量SKU。 代码是: $updates_file="skus.csv"; $sku_entry=array(); $updates_handle=fopen($updates_file, 'r'); if($updates_handle) { while($sku_entry=fgetcsv($updates_handle, 1000, ",")) { $old_sku=$sku_entr

我查了3个多小时的相关话题,找不到解决办法。 我尝试从csv文件更新数据库中的批量SKU。 代码是:

 $updates_file="skus.csv";
$sku_entry=array();
$updates_handle=fopen($updates_file, 'r');

if($updates_handle) {
    while($sku_entry=fgetcsv($updates_handle, 1000, ",")) {
        $old_sku=$sku_entry[0];
        $new_sku=$sku_entry[1];
        echo "<br>Updating ".$old_sku." to ".$new_sku." - ";


        try {
            $get_item = $connect->query('SELECT catalog_product_entity FROM skirtbik_mage560->loadByAttribute("sku", $old_sku)');

            $get_item = 'SELECT sku FROM catalog_product_entity->loadByAttribute("sku", $old_sku)';
            $get_item23 = $connect->query('SELECT sku FROM catalog_product_entity');

            if ($get_item) {
                $get_item->setsku($new_sku)->save();

                echo $get_item;

                echo "successful";
            } else {
                echo "item not found";
            }
        } catch (Exception $e) {
            echo "Cannot retrieve products from Magento: ".$e->getMessage()."<br>";
            return;
        }
    }
}
fclose($updates_handle);

您写得太多,因此在这两行中销毁了
$get\u item

$get_item = $connect->query('SELECT catalog_product_entity FROM skirtbik_mage560->loadByAttribute("sku", $old_sku)');

// this line destroys the previous contents of $get_item
$get_item = 'SELECT sku FROM catalog_product_entity->loadByAttribute("sku", $old_sku)';
$get_item23 = $connect->query('SELECT sku FROM catalog_product_entity');

在第二次使用
$get\u item
的位置使用不同的变量名

$get\u item='从目录中选择sku\u产品\u实体->loadByAttribute(“sku”,$old\u sku)'
覆盖变量。此外,如果您想知道有问题的变量的值,请使用
var\u dump
而不是
echo
。跟踪$get\u项变量。它不是您所认为的。而且我们完全不知道您的
$connect
变量定义为什么。
$get_item = $connect->query('SELECT catalog_product_entity FROM skirtbik_mage560->loadByAttribute("sku", $old_sku)');

// this line destroys the previous contents of $get_item
$get_item = 'SELECT sku FROM catalog_product_entity->loadByAttribute("sku", $old_sku)';
$get_item23 = $connect->query('SELECT sku FROM catalog_product_entity');