MySQL не исключает после определения и вызова в cffunction
Я работал над этим некоторое время и подумал, что дополнительный набор глаз (то есть вы, ребята) может пригодиться. Я определил запрос вставки MySQL, который будет выполнен в функции, которая позже вызывается и передает переменные. Код cf работает нормально, но всякий раз, когда я захожу в базу данных, чтобы проверить, был ли передан код, я не вижу сохраняемых данных. Я знаю, что с самой базой данных все в порядке, потому что все другие запросы mySQL работают так, как они должны были. Может я неправильно называю аргументы в функции? Вот код, о котором идет речь:
<cffunction name='sendToDiffQry'>
<cfargument name="loanid" type="any" required="yes"/>
<cfargument name="oldValue" type="any" required="yes"/>
<cfargument name="newValue" type="any" required="yes" />
<cfargument name="fieldName" type="string" required="yes" />
<cftransaction>
<cfquery name="diffInsert" datasource="STLinux1MySQL" result="diff">
INSERT into tax_search_diff_table
(
tax_search_loan_id,
old_value,
new_value,
field_name,
timeofedit
)
VALUES
(
<cfqueryparam value="#trim(Val(loan_id))#" cfsqltype="cf_sql_bigint">,
<cfqueryparam value="#trim(oldValue)#" cfsqltype="cf_sql_varchar">,
<cfqueryparam value="#trim(newValue)#" cfsqltype="cf_sql_varchar">,
<cfqueryparam value="#trim(fieldName)#" cfsqltype="cf_sql_varchar">,
Now()
)
</cfquery>
</cftransaction>
</cffunction>
И вот как я это называю:
<cfset
sendToDiffQry(url.tax_search_loan_id, form.old_frequency_id, form.frequency_id, 'frequency')>
Я знаю, что могу назвать это и в тегах cfoutput, но получаю те же результаты. Я уверен, что мне здесь чего-то не хватает.
1 ответ
Для столбца tax_search_loan_id вы получаете аргумент в качестве loanid и используете в cfqueryparam в качестве loan_id, поэтому попробуйте этот код
<cffunction name='sendToDiffQry'>
<cfargument name="loanid" type="any" required="yes"/>
<cfargument name="oldValue" type="any" required="yes"/>
<cfargument name="newValue" type="any" required="yes" />
<cfargument name="fieldName" type="string" required="yes" />
<cfquery name="diffInsert" datasource="STLinux1MySQL" result="diff">
INSERT into tax_search_diff_table
(
tax_search_loan_id,
old_value,
new_value,
field_name,
timeofedit
)
VALUES
(
<cfqueryparam value="#trim(Val(arguments.loanid))#" cfsqltype="cf_sql_bigint">,
<cfqueryparam value="#trim(arguments.oldValue)#" cfsqltype="cf_sql_varchar">,
<cfqueryparam value="#trim(arguments.newValue)#" cfsqltype="cf_sql_varchar">,
<cfqueryparam value="#trim(arguments.fieldName)#" cfsqltype="cf_sql_varchar">,
<cfqueryparam value="#Now()#" cfsqltype="cf_sql_varchar">
)
</cfquery>
</cffunction>