1

「mysql_next_result()からの未処理のエラー」というエラーが発生しました。これは、これまでに見たことのないものであり、誰かが提供できる洞察をいただければ幸いです。

サーバーをColdFusion9にアップグレードしました。ほぼ同時に、@記号で囲まれたタグを使用するテスト中の新機能でいくつかのスクリプトを更新しました。私のテストでは、スクリプトはこれらのタグがなくても機能するが、失敗することがわかりました。残念ながら、これはCFTransactionブロック内の単一のCFQueryで処理されるため、問題を特定するのは困難です。失敗したクエリは次のようなものです。

INSERT INTO galleries_images    (EID, Name, Desc1, Format1, OrderID, category, FullPath, hastags, haskeys, udate)
VALUES              (<CFQUERYPARAM CFSQLTYPE="CF_SQL_INTEGER" VALUE="#EID#">,
<CFQUERYPARAM CFSQLTYPE="CF_SQL_VARCHAR" VALUE="#Name#">,
<CFQUERYPARAM CFSQLTYPE="CF_SQL_VARCHAR" VALUE="#imageProps[2][2]#">,
<CFQUERYPARAM CFSQLTYPE="CF_SQL_INTEGER" VALUE="0">,
<CFQUERYPARAM CFSQLTYPE="CF_SQL_INTEGER" VALUE="#imageProps[2][4]#">,
<CFQUERYPARAM CFSQLTYPE="CF_SQL_INTEGER" VALUE="#catID.ID#">,
<CFQUERYPARAM CFSQLTYPE="CF_SQL_VARCHAR" VALUE="#Source_Dir#\#Name#">,
<CFQUERYPARAM CFSQLTYPE="CF_SQL_INTEGER" VALUE="#hastags#">,
<CFQUERYPARAM CFSQLTYPE="CF_SQL_INTEGER" VALUE="#haskeys#">,
Now());

これらの変数の値は、おおよそ次のようになります。

 EID=24
 Name=Nick001@ord@001@ord@@tags@Pre-Ceremony@tags@.jpg
 imageProps[2][2]=
 imageProps[2][4]=001
 catID.ID=67
 Source_Dir=\Name=01_Nicholas - Camera\Nick001@ord@001@ord@@tags@Pre-Ceremony@tags@.jpg
 hastags=0
 haskeys=0

同じクエリ(またはクエリのセット、これらの50〜100が1つのCFQueryブロックで実行されるため)は、@記号のない名前とsource_dirで完全に正常に実行されます。これらはCFQueryParamタグ内にあるため、MySQL内の変数宣言に関連しているにもかかわらず、安全に使用できると思いました。何かご意見は?

4

1 に答える 1

2

私はこれの原因を突き止めました、そしてそれは私が期待したもののようではありませんでした。私のデータベースフィールドの1つは250文字でしたが、許容されるファイル名の長さは255文字でしたが、それが邪魔になりました。データベースフィールドのサイズを大きくすると、すべてが機能し始めました。

より有益なものではなく、mysql_next_result()エラーを受け取った理由がわかりません。おそらくそれは一般的なエラーです。うまくいけば、その小さな一口が同じ状況で他の誰かを助けるでしょう。

于 2012-06-26T20:44:02.503 に答える