嗨,我有一个动态删除查询,我以前使用过,所以我知道它可以工作,但是由于某些原因,当我想删除一个用户时,它总是说数组到字符串转换可以帮助我。

动态删除查询:

public function deleteRow($tabel,$columns,$values)
{
      $this->setQuery('DELETE FROM '.$tabel.' WHERE '.$columns .' = '. $values);

      $this->setStmt($this->getConn()->prepare($this->getQuery()));
      $this->setStmt($this->getStmt()->execute());
      return $this->getQuery();
}


然后,我有一个函数可以填写用户信息并执行查询:

public function MedewerkerDelete()
{
    $query = new Query();

    $tabel = 'medewerkers'; //welke tabellen zijn er nodig in dit geval is dat customers die hebben we nodig om gebruikers te registreren.
    $columns = array('medewerker_naam', 'medewerker_achternaam','account_id'); //welke gegevens moeten er in de customers tabel komen die komen in deze array te staan alle kolommen dus.

    $tabel2 = 'account';
    $columns2 = array('account_wachtwoord', 'account_email','account_rol');

    echo '

        <form method = "POST"> <!--hier komt het formulier waarmee alle gegevens worden doorgestuurd.-->
        <p>Medewerker Verwijderen</p>
        <label for="medewerker_naam">Naam</label>
        <input type="text" name="medewerker_naam" value=" ' . $_SESSION['vNaam'] . '  "><br>
        <label for="medewerker_achternaam">Achternaam</label>
        <input type="text" name="medewerker_achternaam" value=" ' . $_SESSION['aNaam'] . '  "><br>
        <label for="account_wachtwoord">Wachtwoord</label>
        <input type="password" name="account_wachtwoord"><br>
        <label for="account_email">Email</label>
        <input type="text" name="account_email" value=" ' . $_SESSION['eMail'] . '  "><br>
        <label for="account_rol">Rol</label>
        <input type="text" name="account_rol">
        <input type="submit" name="submit_medewerkers_delete" value="delete">

        </form>

    ';


    if (isset($_POST['submit_medewerkers_delete'])) //als het formulier is ingevuld en verzonden wordt zet dan alle waardes die zijn ingevuld in een array dat is dus de $values.
    {
        $values2 = array(md5($_POST['account_wachtwoord']), $_POST['account_email'],$_POST['account_rol']);
        $query->deleteRow($tabel2, $columns2, $values2);
        $last_id = $query->getConn()->lastInsertId();
        $values = array($_POST['medewerker_naam'],$_POST['medewerker_achternaam'],$last_id); //hier staan alle ingevulde waardes zoals naam is pieter.
        $query->deleteRow($tabel,$columns,$values); //als alles is ingevuld en verstuurd zorg er dan voor dat alle benodigde gegevens zoals tabel kolom en ingevulde waardes worden meegegeven aan de createquery functie en voer het vervolgens uit.
        var_dump($values);
        var_dump($query->getQuery());
    }

}


希望你们能帮助我。我不知道。

最佳答案

好吧……为了使函数deleteRow()起作用,变量$columns$values必须都是字符串。
您传递数组。
看到
$values2=array(md5($_POST['account_wachtwoord']),$_POST['account_email'],$_POST['account_rol']);$columns2 = array('account_wachtwoord', 'account_email','account_rol');

关于php - 删除时从数组到字符串的转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49172651/

10-11 22:34
查看更多