Я использую ColdFusion 10 Update 23 с базой данных MySQL. Когда я вношу изменения в сценарий, где я использую cfqueryparm, сценарий вызывает это сообщение об ошибке: «Не удалось определить тип значения атрибута тега queryparam».
Этот скрипт работает отлично:
<cfquery name="i" datasource="tasktrack">
UPDATE qa_commitments
SET
commit_division = <cfqueryparam cfsqltype='cf_sql_integer' value='#trim(commit_division)#'/>,
commit_source = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(commit_source))#'/>,
commit_title = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(commit_title))#'/>,
commit_responsibility = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(commit_responsibility))#'/>,
<cfif Len(commit_cause)>commit_cause = <cfqueryparam cfsqltype='cf_sql_varchar' value='#commit_cause#'/>
<cfelse>commit_cause = NULL</cfif>,
commit_comments = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(PreserveSingleQuotes(commit_comments)))#'/>,
commit_issue_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_issue_date#'/>,
commit_response_due_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_response_due_date#'/>,
commit_response_compl_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_response_compl_date#'/>,
commit_action_due_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_action_due_date#'/>
<cfif IsDefined('commit_closeing_date')> ,commit_closeing_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_closeing_date#'/></cfif>
WHERE ID = #id#
Если я открою сценарий и добавлю что-либо (например, возврат, вкладку, комментарий), сохраните сценарий, я получаю указанную выше ошибку. Если я восстановлю скрипт из более старой версии, он снова будет работать нормально. Я открываю старый, вставляю разрыв строки с клавишей ввода, сохраняю его, а затем он снова ломается. Действительно странная часть заключается в том, что если я полностью удалю теги cfqueryparam, скрипт снова заработает. Это происходит в каждом скрипте, где я использую этот тег. Последнее обновление CF было в апреле 2017 года, и есть несколько новых скриптов, которые работают, если я их не отредактирую. Я пробовал разные редакторы с тем же результатом. Я погуглил свою задницу без результатов. Может кто-нибудь указать мне в правильном направлении?
id = id
сразу после словаset
и закомментируйте остальные поля. Запустите страницу. Затем раскомментируйте одно поле за раз и запустите страницу, пока не определите виновника.commit_division
выглядит подозрительно, потому что вы используете обрезку для чего-то, что должно быть целым числом. - person Dan Bracuk   schedule 24.10.2017