Перейти к содержимому


Недопустимые символы в UTF

invalid UTF8 characters

Сообщений в теме: 4

#1 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 357 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 20 Февраль 2014 - 15:15

Сделал запрос к базе
'SELECT t1.f439 AS company, t1.f443 AS person FROM `cb_data42` t1 LEFT JOIN `cb_data230` t2 ON t1.id = t2.f3730 LEFT JOIN `cb_data240` t3 ON t2.id = t3.f3860 WHERE t3.f3980 = ' . $line['XXX']
Далее
$result = mysql_query($sqlQuery);
$row = mysql_fetch_assoc($result);
foreach ($row as $company)
{......}
Здесь возникает следующее.
Массив $company - содержит данные, это видно через print_r, но попытка вывести содержимое $line['YYY'] = $company['compan'] выдает один спецсимвол - знак вопроса в ромбе.
Все попытки удалить их ничего не дают - либо пустое поле, либо тот же спецсимвол.
Можете подсказать решение?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 22 Февраль 2014 - 15:19

Какой же там массив то? В $company будет содержимое очередного поля, которое представляет из себя либо текст, либо число, либо в крайнем случае NULL, но никак уж не массив. Попытка чтения строки как массива, в вашем случае, выдает содержимое первого (или любого другого) байта, что и выводит в результате "ромб". Вероятно, вы просто перепутали цикл по строкам с циклом по одной строке (в $row только одна запись)

#3 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 357 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 22 Февраль 2014 - 21:00

Просмотр сообщенияCbCoder (22 Февраль 2014 - 15:19) писал:

Какой же там массив то? В $company будет содержимое очередного поля, которое представляет из себя либо текст, либо число, либо в крайнем случае NULL, но никак уж не массив. Попытка чтения строки как массива, в вашем случае, выдает содержимое первого (или любого другого) байта, что и выводит в результате "ромб". Вероятно, вы просто перепутали цикл по строкам с циклом по одной строке (в $row только одна запись)
Откуда в row одна запись, если условию соответствует несколько.У меня LIMIT в запросе не прописан. Это тоже самое, если в вашу функцию data_table добавить параметр "all".
В $company лежит ассоциативный массив полей (company и person). Внимательно посмотрите запрос. Вывод массива через print_r как раз проходит без проблем, а обращение к полю - выводит ромб.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 24 Февраль 2014 - 09:09

Условие и вид запроса значения не имеют. Функция mysql_fetch_assoc всегда выдает только одну запись. Если сам запрос возвращает несколько записей - необходимо несколько раз вызывать данную функцию, пока она не вернет false, как правило это делается через цикл while ($row = mysql_fetch_assoc($result)). Это же классика, во всех учебниках php прописано. Заработались? ;)

#5 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 357 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 24 Февраль 2014 - 12:54

Просмотр сообщенияCbCoder (24 Февраль 2014 - 09:09) писал:

Условие и вид запроса значения не имеют. Функция mysql_fetch_assoc всегда выдает только одну запись. Если сам запрос возвращает несколько записей - необходимо несколько раз вызывать данную функцию, пока она не вернет false, как правило это делается через цикл while ($row = mysql_fetch_assoc($result)). Это же классика, во всех учебниках php прописано. Заработались? ;)
Уработался...
Туплю...
В отпуск пора...

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения






Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных