У меня есть таблица db:
ConfigID | Type | Key | Value -------------------------------------------------------------- 0 | "API" | "ClientID" | "iofoewi" 1 | "API" | "ClientSecret" | "eijfoiewjfioejfoiewjfoie"
Возьмите следующий код:
$data = array( array( 'Key' => "ClientID", 'Value' => $testAPICredential->ClientID ), array( 'Key' => "ClientSecret", 'Value' => $testAPICredential->ClientSecret ) ); try { $this->context->db->trans_start(); $this->context->db->update_batch( $this->tableName, $data, "Key" ); $this->context->db->trans_complete(); return ($this->context->db->trans_status() === FALSE)? FALSE:TRUE; } catch( Exception $e ) { return FALSE; }
Он выводит этот SQL, когда я использую профайлер:
UPDATE `config` SET `Value` = CASE WHEN `Key` = 'ClientID' THEN 'iofoewi2' WHEN `Key` = 'ClientSecret' THEN 'eijfoiewjfioejfoiewjfoie2' ELSE `Value` END WHERE `Key` IN ('ClientID','ClientSecret')
И все же таблица базы данных не затронута?
Есть идеи?