Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Membangun pernyataan UPDATE menggunakan array asosiatif di 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
}

Tapi sebenarnya Anda harus menggunakan ORM untuk itu:

Doktrin 2:Perbarui kueri dengan pembuat kueri



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Setel bidang Peningkatan Otomatis mulai dari 1000 di laravel migrasi 5.1

  2. Memeriksa nilai dalam array di dalam satu kueri SQL dengan klausa WHERE

  3. MySQL Errno 150

  4. Tambahkan kolom baru ke tabel yang ada dalam migrasi di Laravel

  5. Hitung baris di mysql berdasarkan grup