Почему CodeIgniter update() без предложения WHERE обновляет все строки с одинаковыми данными?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему CodeIgniter update() без предложения WHERE обновляет все строки с одинаковыми данными?

Сообщение Anonymous »

Я пытаюсь обновить определенную строку таблицы в CodeIgniter, но мой код обновляет все строки!
Модель:

Код: Выделить всё

public function edit_profile($array)
{
$email = $array['email'];
$this->db->select("email");
$this->db->from("user");
$this->db->where('email', $email);
$query=$this->db->get();
if ($query->num_rows() == 1) {
$this->db->update('user', $array);
return 1;
} else {
return $query->num_rows();
}
}
Контроллер:

Код: Выделить всё

public function edit()
{
$name = $this->input->post('user_name', TRUE);
$email = trim($this->session->userdata('email'));
$array = array('user_name' => $name, 'email' => $email);
$result = $this->edit_profile_model->edit_profile($array);
echo $result;
}
И на новой странице отображается значение echo 1.

Как обновить определенную строку?

Почему $query->num_rows() возвращает 1 и обновляет все строки?


Подробнее здесь: https://stackoverflow.com/questions/220 ... ith-the-sa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»