2015-04-06 4 views
0

Когда я запускаю этот код, я получаю некоторые поля, обновляемые в моей таблице MySQL, но по какой-то причине это все равно.Сценарий вставляет те же значения в базу данных

$query = $this->Connection_model->get_custom_db('sender')->get($sender_table); 
foreach ($query->result() as $row) { 
    $data = array(
      $sender_row => $row->$sender_row 
    ); 
    $this->Connection_model->get_custom_db('receiver')->update($receiver_table, $data); 
} 

enter image description here

print_r ($ данные) возвращает:

Array ( [Strasse] = > Pantherstr.) Array ( [Strasse] = > Minimalweg) Array ( [ Strasse] = > Blankeneser Weg)

Как я могу это исправить?

+0

результат ожидается. У вас есть столбец идентификатора или уникальный столбец? –

+0

Вам нужно определить условие 'where', чтобы определить, какая строка должна обновляться, на каком условии. –

ответ

0

Похоже $ для многих в $ row-> sender_row:

$query = $this->Connection_model->get_custom_db('sender')->get($sender_table); 
foreach ($query->result() as $row) { 
    $data = array(
      $sender_row => $row->sender_row 
    ); 
    $this->Connection_model->get_custom_db('receiver')->update($receiver_table, $data); 
} 
+0

Нет,' $ row -> $ sender_row' должно быть правильным. $ sender_row - это переменная. –

0

То, что вы найдете, что происходит в том, что во всех ваших строк, поля Strasse будут получать установлен Pantherstr, то к Minimalweg, затем к Бланкенезеру Вегу.

Итак, что вы видите, это итоговое значение, которое записывается во ВСЕХ Строках.

Я не вижу, где ваше место. Если вы хотите обновить определенную строку или строки, вам нужно идентифицировать эти строки. Все остальные строки будут обновляться каждый раз через ваш цикл.

+0

Есть ли способ добавить эти поля в столбец, не используя Где их идентифицировать? Они должны быть перечислены только сверху вниз, несмотря ни на что. –

+0

Когда вы обновляете столбец (столбцы) в любой таблице и не указываете какие-либо условия WHERE для идентификации строки или строк, которые хотите обновить, тогда будут обновлены ВСЕ строки. – TimBrownlaw

+0

Я думал, что можно запустить цикл, чтобы сказать, что первая строка получает первое значение, вторая строка получает второе значение и так далее ... –

Смежные вопросы