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

Конструиране на оператори UPDATE с помощта на асоциативни масиви в PHP

public function update($tableName, $values, $conditions = array()) {
    if (empty($values)) {
        throw new Exception('Nothing to update');
    }
    $valueStrings = array();
    foreach ($values as $name => $value) {
        $valueStrings[] = $name . ' = :' . $name;
    }
    $conditionStrings = array();
    foreach ($conditions as $column => $value) {
        $conditionString = $column;
        $conditionString .= is_array($value)
            ? ('IN ("' . implode('","', $value) . '")')
            : (' = "' . $value . '"')
        ;
        $conditionStrings[] = $conditionString;
    }
    $sql = 'UPDATE ' . $tableName
        . ' SET ' . implode(', ', $valueStrings)
        . ' WHERE ' . implode(' AND ', $conditionStrings)
    ;
    // execute query
}

Но всъщност трябва да използвате ORM за това:

Доктрина 2:Актуализиране на заявката с конструктор на заявки



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. C# Mysql UTF8 кодиране

  2. ПРОБЛЕМ:Mysql преобразува Enum в Int

  3. Как да комбинирам почти същия елемент чрез SQL?

  4. MYSQL JOIN на множество таблици не връща резултати

  5. MySQL InnoDB ограничение не работи