2017-07-13 1 views
0

私はColdFusionで更新クエリを作成していますが、このコードが機能しない理由を理解できません。注意は、mysqlサーバ内で直接動作するので、SQLが有効である必要があります。タグ内で呼び出されたときにデータを更新していないだけです。私の一部のSQLコードが機能しない理由がわかりません

私はこの壁の上から頭を叩いて、そこに誰かの助けを得たいと考えています。私の気持ちは、ColdFusionがDBに達する前にフォーマットを乱しているということです。あなたのお時間をありがとうございました。

<cfquery name="qry" datasource="uf"> 
UPDATE users set expiry = (SELECT DATE_ADD("#user_qry.expiry#", INTERVAL 10 DAY)), active = 1 where user_id = #user_id# 
</cfquery> 
+3

私は '#user_qry.expiry#'はそれがあなたとは違うと思います。 'result =" sqlStmt "'を ''に追加し、クエリ ''の後にダンプしてください。 MySQLサーバに送信された文が表示されます。 – Alex

+2

coldfusionに精通していませんが、 '#user_qry.expiry'の前に孤独な' ''はありますか? – Uueerdo

+0

ありがとう@Uueerdoは今編集しました。 –

答えて

2

CFとMySQLの日付ロジックが混在しています。私はちょうど1つにこだわるだろう。 SELECT dateAdd("d",10,CreateODBCDate(user_qry.expiry))...を使用してください。このように、CFのdateAdd()ではCFで生成された日付文字列に10日を追加するのではなく、CF内部のCF日付オブジェクトに10日を追加します。

また、WHERE文にcfqueryparamが必要です。あなたの入力を消毒することを確認してください。

関連する問題