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


ошибка при получении данных из поля


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

#1 oknik

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

  • Пользователи
  • PipPipPip
  • 36 сообщений

Отправлено 11 Январь 2017 - 02:37

таблица "цены доменов" содержит поля "регистратор" - "зона" - "цена продления"
связанная с ней таблица "домены" содержит поле "цена продления"

код:
// пишем цену из справочника
$result = data_select_field(791, "f11801 as cena_domena", "status=0 AND f11781=",$line['Регистратор']['id']," AND f11791=",$line['Зона']['id']," )
$row = sql_fetch_assoc($result);
$line['Цена продления'] = $row['cena_domena'];

выдает ошибку:

Цитата

18: $row = sql_fetch_assoc($result);
19: $line['f11071'] = $row['cena_domena'];

syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)


#2 Dinak

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

  • Пользователи
  • PipPipPip
  • 189 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 11 Январь 2017 - 07:11

,$line['Зона']['id']," )


Лишняя кавычка с запятой в конце строки!

Сообщение отредактировал Dinak: 11 Январь 2017 - 07:11


#3 oknik

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

  • Пользователи
  • PipPipPip
  • 36 сообщений

Отправлено 12 Январь 2017 - 01:04

ок, все заработало )
не понятно только вообще как это все здесь работает теперь, не понятно какие кавычки что открывают а какие закрывают:
почему тогда здесь они остаются
"status=0 AND f11781=",$line['Регистратор']['id']," AND f11791=",$line['Зона']['id']
а именно в конце не нужны?

и самое главное, что результат вычисления не записывается в поле, остается 0
$line['Цена продления'] = $row['cena_domena'];

вообще по задумке, первое делает выборку из таблицы, и там по любому всегда остается только 1 строка, и там должно было быть число, которое должно прописаться в "Цена продления"
что то не так сделано в первой части?
можно вообще как то увидеть, что в sql запросе было получено из таблицы?

#4 Dinak

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

  • Пользователи
  • PipPipPip
  • 189 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 12 Январь 2017 - 06:34

Как вариант, запихайте его в крон, отметьте галку запретить выполнение, напишите
$result = data_select_field(791, "f11801 as cena_domena", "status=0 AND f11781=",$line['Регистратор']['id']," AND f11791=",$line['Зона']['id'] )
$row = sql_fetch_assoc($result);
print($row);
Запустите крон вручную и увидите что содержится в массиве $row

Сообщение отредактировал Dinak: 12 Январь 2017 - 06:35


#5 oknik

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

  • Пользователи
  • PipPipPip
  • 36 сообщений

Отправлено 17 Январь 2017 - 18:22

Просмотр сообщенияDinak (12 Январь 2017 - 06:34) писал:

Как вариант, запихайте его в крон, отметьте галку запретить выполнение, напишите
$result = data_select_field(791, "f11801 as cena_domena", "status=0 AND f11781=",$line['Регистратор']['id']," AND f11791=",$line['Зона']['id'] )
$row = sql_fetch_assoc($result);
print($row);
Запустите крон вручную и увидите что содержится в массиве $row

Но есть один момент, это вычисление выполняется с определённой записью в таблице, как cron поймёт из какой записи брать "регистратора" и "зону"???

сделал так, просто заменил на реальные id:
$result = data_select_field(791, "f11801 as cena_domena", "status=0 AND f11781=17 AND f11791=1 )
$row = sql_fetch_assoc($result);
print($row);

получается так
Parse error: syntax error, unexpected end of file in public_html/include/functions1.php(6306) : eval()'d code on line 3

Сообщение отредактировал oknik: 17 Январь 2017 - 19:38


#6 Dinak

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

  • Пользователи
  • PipPipPip
  • 189 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 18 Январь 2017 - 08:04

Ошибка синтаксиса, попробуйте так!

$result = data_select_field(791, "f11801 as cena_domena", "`status`='0' AND `f11781`='17' AND `f11791`='1'" ) // кавычку не закрыли
$row = sql_fetch_assoc($result);
print $row['cena_domena'];






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

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