sql >> Database >  >> RDS >> Mysql

BOB Opgestelde verklaring Binnen een klas

Je gebruikt de bindingsfunctie van PDO niet helemaal goed. Je zou zoiets als het volgende moeten doen:

public function update($table, $key, $value, $id) {
    $stmt = $this->conn->prepare(
        "UPDATE $table SET $key = :value WHERE id = :id"
    );
    return $stmt->execute(array(
        ':value' => $value,
        ':id' => $id
    ));
}

Eerst moet u de hele tekenreeks die moet worden gebonden in de sleutel van de bindingsarray plaatsen. Dus je zet ':id' in plaats van 'id' . Ook plaatste u de variabelen rechtstreeks in de query in het geval van $table en $value , maar dan proberen ze aan elkaar te binden, wat geen zin heeft.

Bewerken:tabellen en kolomnamen kunnen niet worden gebonden met PDO.




  1. Wat is de maximale vergoeding voor group_concat_max_len in MySQL?

  2. PostgreSQL - krijg gematerialiseerde metagegevens van de weergavekolom

  3. Waarom krijg ik een openstaande transactie als ik gewoon uit een databaseweergave kies?

  4. SQL TRUNCATE-syntaxis - weergegeven door DBMS