私はしばらくこれに取り組んできましたが、追加の目 (つまり皆さん) が役立つかもしれないと考えました。後で呼び出されて変数を渡す 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 タグ内でも呼び出すことができることはわかっていますが、同じ結果が得られます。ここで非常に基本的な何かが欠けていると確信しています。