я правильно пишу этот запрос на обновление? - PullRequest
1 голос
/ 24 августа 2011

это SQL-запрос, который я использовал перед переключением на codeigniter

UPDATE transaction SET due_amount = to_pay-$payment_amount WHERE id = '$id'

с codeigniter

$this->db->set('due_amount', 'to_pay-'.$payment_amount, FALSE);                
$this->db->where('id', $id); 
$result = $this->db->update('transaction');

в коде codeigniter. Я пишу $ this-> db-> setправильно?

С уважением

Ответы [ 3 ]

1 голос
/ 24 августа 2011

Вы должны сделать это так:

$this->db->where('id', $id); 
$result = $this->db->update('transaction',array('due_amount'=>'to_pay-'.$payment_amount));

Надеюсь, это поможет.

0 голосов
/ 24 августа 2011

Существует несколько вариантов использования функции update Документы . Ваш не выглядит особенно плохо (однако я бы не стал избегать экранирования, если бы не по конкретной причине), возможно, вы предпочитаете использовать массив (или объект) для предоставления обновляемых данных:

$data = array(
    'due_amount' => 'to_pay-'.$payment_amount,
);
$this->db->update('transaction', $data, sprintf('id = %d', $id));
0 голосов
/ 24 августа 2011

Я думаю, здесь может быть какая-то проблема с $this->db->set Стандартный способ обновления контента в codeignitor это

$data = array(
           'title' => $title,
           'name' => $name,
           'date' => $date
        );

$this->db->where('id', $id);
$this->db->update('mytable', $data); 

Производит: ОБНОВЛЕНИЕ mytable SET title = '{$ title}', name = '{$ name}', date = '{$ date}' ГДЕ id = $ id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...