(слишком долго для комментариев ...)
Поскольку вы упомянули быть новым для CF, немного фона на том, как CF обрабатывает запросы к базе данных может помочь понять, почему произошла ошибка и какие типы вещей вы можете (и не можете) делать внутри cfquery.
Хотя CF может связываться с движком базы данных, эти два полностью разделены и говорят на разных языках. Тот факт, что вы можете смешивать CFML и SQL в теге cfquery, дает ошибочное впечатление о том, что функции CF могут работать с объектами базы данных (или наоборот). Они не могут. Сервер CF ничего не знает о объектах базы данных (и механизм базы данных не понимает CFML). Любой CFML-код в теге запроса обрабатывается первый - на сервере CF. Сгенерированный SQL затем отправляется в механизм базы данных и выполняется отдельно.
Когда сервер CF встречает запрос к базе данных, он анализирует содержимое тега, ищет CFML переменные или выражения, которые должны быть оценены, а именно:
SELECT Column FROM Table WHERE ColA = '#form.someField#' AND ColB = '#form.otherField#'
Затем преобразует эти переменные и выражение в буквенные значения, т.е. строки, числа и т. д. Наконец, CF руки SQL строки в генерируется от ядра базы данных для выполнения, а именно:
SELECT Column FROM Table WHERE ColA = 'John Smith' AND ColB = 'ABC'
Так что причина CF дроссели на #DateFormat(w.start_date, "m")#
, что она не понимает, w.start_date
ссылается на столбец базы данных. Он считает, что это имя переменной CF: в частности структура с именем «w», содержащая ключ «start_date». Очевидно, что таких переменных нет. Отсюда неопределенная ошибка.
Под «умиранием» это означает, что он приходит с ошибкой? –
Да, «переменная [W] не существует» – mck
Кроме того, я настоятельно рекомендую использовать параметр cfquery для дезинфекции вашей переменной. Я уверен, что в теге запроса вам не нужны octothorps, но прошло более года с тех пор, как я работал cfquery. –