sql >> Databasteknik >  >> RDS >> Mysql

SUB Utarbetat uttalande Inuti en klass

Du använder inte bindningsfunktionen i PDO helt rätt. Du bör göra något i stil med följande:

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
    ));
}

Först måste du lägga hela strängen som ska bindas in i nyckeln för bindningsmatrisen. Så du sätter ':id' istället för 'id' . Du satte också variablerna direkt i frågan i fallet med $table och $value , men sedan försöka binda dem till varandra, vilket inte är vettigt.

Redigera:tabeller och kolumnnamn kan inte bindas med PDO.




  1. kombinera två välj uttalande i två kolumner?

  2. Använder FORCE INDEX med zend

  3. Vad är det bästa sättet att generera rankningar i MYSQL?

  4. Hur man skapar ett säkert inloggningsskript i PHP och MySQL