Mysql
 sql >> база данни >  >> RDS >> Mysql

PDO Подготвен оператор вътре в клас

Не използвате функцията за свързване на PDO съвсем правилно. Трябва да направите нещо като следното:

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

Първо, трябва да поставите целия низ, който трябва да бъде обвързан, в ключа на свързващия масив. Така че поставяте ':id' вместо 'id' . Освен това поставихте променливите директно в заявката в случай на $table и $value , но след това се опитва да ги свърже един с друг, което няма смисъл.

Редактиране:имената на таблиците и колоните не могат да се обвързват с PDO.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете най-близката числова стойност с MySQL заявка

  2. Вмъкване на пореден номер в MySQL

  3. Валидни ли са квадратните скоби в SQL заявка?

  4. JDBC преобразува Timestamp в NULL (проблем с ZeroDateTimeBehavior)

  5. SQL (MySQL) срещу NoSQL (CouchDB)