sql >> Database >  >> Database Tools >> phpMyAdmin

Fatale fout:Uncaught ArgumentCountError:Te weinig argumenten om te functioneren Admincategory::deletecategory(),

Soms gebeurt het dat AdminCategory::deletecategory($parentId) wordt aangeroepen zonder een parameter, maar het prototype heeft er geen standaardwaarde voor en daarom wordt een uitzondering gegenereerd. Aangezien u gegevens krijgt van een postverzoek en er altijd een mogelijkheid is dat een categorie geen bovenliggende categorie heeft, kunt u uw methode aanpassen zodat deze eruitziet als:

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
}

Als u typhints gebruikt, zou het geschikter zijn om de methode eruit te laten zien als

 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
 }

Als je ECHT verwacht dat parentId MOET worden doorgegeven, wikkel dan de methodeaanroeper in met 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. Hoe kan ik SQLCMD gebruiken met Windows-verificatie (-E,) maar zonder verhoogde machtigingen?

  2. hoe gegevens met scheidingstekens in mysql in phpmyadmin te importeren

  3. Script alle opgeslagen procedures in Management Studio 2005

  4. Hoe de MSSQLServer-database uitpakken als .dacpac zonder VerifyExtraction?