phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

Фатална грешка:Uncaught ArgumentCountError:Твърде малко аргументи за функцията Admincategory::deletecategory(),

Понякога се случва AdminCategory::deletecategory($parentId) да се извика без параметър, но прототипът няма стойност по подразбиране за него и следователно се хвърля изключение. Тъй като получавате данни от заявка за публикуване и винаги има възможност дадена категория да няма родител, можете да преработите метода си така, че да изглежда така:

function deletecategory($parentId = null)
{
    $ids = $_POST['id'];
    $this->model->deletecategory($ids);
    if (null !== $parentId) {
        header('location:'.URL.'admincategory/showchildren/'.$parentId);
    }
    // PUT MORE OF YOUR LOGIC HERE, I DO NOT KNOW WHAT SHOULD HAPPEN
}

Ако използвате съвети за въвеждане, по-подходящо би било да направите метода да изглежда като

 function deletecategory(string $parentId = ''): void //void is for php7.1
 {
    $ids = $_POST['id'];
    $this->model->deletecategory($ids);
    if ('' !== $parentId) {
        header('location:'.URL.'admincategory/showchildren/'.$parentId);
    }
    // AGAIN LOGIC HERE
 }

Ако НАИСТИНА очаквате, че parentId ТРЯБВА да бъде предадено, тогава вместо това обвийте метода за извикване с try catch

if (method_exists($object, $this->method)) {
    try {
        call_user_func_array([$object, $this->method], $this->params);
    } catch (\Exception $ex) {
        // HANDLE EXCEPTION HERE
    }
}



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. как мога да заключа таблици в MySQL или phpmyadmin?

  2. много към много дилема за мост на връзката

  3. Мога ли да използвам транзакции с ALTER TABLE?

  4. Как мога да пусна няколко първични ключа в таблици на phpmyadmin?

  5. WAMP:phpmyadmin внезапно се повреди