Как получить несколько столбцов таблицы по php-запросу?

0

Мне нужно получить два столбца таблицы из mysql, а затем заменить часть содержимого одного столбца на содержимое другого. Вот как я это делаю, но ничего не показывает.

    $query  = "SELECT id, msg FROM msg2_qualities";  
    $result = mysql_query($query);     
    $outArray = array(); 
     if ($result) { 
         while ($row = mysql_fetch_assoc($result))
                 {
                   $row2 = str_replace('testWord','$row[0]',$row[1]);
                   $outArray[] = $row2; 
                  } 
                 } 
   echo json_encode($outArray);

ИЗМЕНИТЬ Я тестировал код с помощью echo и $row [0], $row [1] не имеет значения. Но если я запустил запрос для извлечения одного столбца из таблицы, то он отлично работает, как

     $query  = "SELECT msg FROM msg2_qualities"; OR
     $query  = "SELECT id FROM msg2_qualities"; 
  • 2
    Ваша главная проблема - логика. Отсутствие логики, чтобы быть уверенным. Вы спрашиваете, как получить несколько столбцов, но ваша реальная проблема далека от этого. Чтобы увидеть несколько столбцов, вы должны повторить их. Просто эхо и больше ничего. Никаких массивов, никаких замен, но только эхо. Когда вы подтвердите их и убедитесь, что у вас есть колонки, вы увидите, что ваша проблема где-то еще. Синтаксис строки возможно
  • 0
    Синтаксическая ошибка: $ row [0] в одинарных кавычках ...
Показать ещё 12 комментариев
Теги:

2 ответа

2

Попробуйте удалить кавычки вокруг $row[0] и обратитесь к полям по имени, а не по индексу:

$row2 = str_replace('testWord', $row['id'], $row['msg']);
1

вы используете mysql_fetch_assoc, поэтому код должен выглядеть следующим образом: -

while ($row = mysql_fetch_assoc($result))
 {
    $row2 = str_replace('testWord',$row['id'],$row['msg1']);
    $outArray[] = $row2; 
 } 

Спасибо.

  • 0
    Ваше предложение было очень близко, но не было достаточно ясным, хотя я тоже попробовал. Спасибо за помощь
  • 0
    означает, что вы еще не нашли решение или оно не работает, я просто показал, что вы делаете неправильно. Я не собираюсь писать всю логику здесь. Спасибо
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню