2

POST メソッドを使用して PHP から ColdFusion ページに値を渡そうとしています。実際には、テキスト フィールドと送信ボタンが 1 つしかないフォームです。問題は、ColdFusion ページでその値を「キャッチ」して SQL SELECT ステートメントで使用する方法です。

PHP ページ:

<form  action="adminlog.cfm" method="post">
  <input  type="text" name="admin"  placeholder="Admin" required >
  <input  type="submit" value="admin"/>
</form>

ColdFusion ページ:

<cfif Form.admin NEQ "">
  Client ID is still #Form.ClientID#
<cfelse>
  No value supplied for ClientID
</cfif>

<cfquery name='myQuery' datasource='MyDSN'>
  SELECT * FROM admin WHERE  aID = <cfparam name="Form.admin" />
</cfquery>

私が得ているのは次のとおりです。

データベース クエリの実行中にエラーが発生しました。オンライン

<cfquery name='myQuery' datasource='MyDSN'>

SELECT ステートメント id から WHERE 条件を削除すると、データベースからのレコードが問題なく表示されます。したがって、パラメーターを渡すことと関係があると思います。

4

1 に答える 1

7

cfparam ではなく、cfqueryparam を使用します。

また、おそらく、そのフィールドに値が提供されている場合にのみ、このクエリを実行したいと考えています。それを IF ステートメントに追加します。

<cfif Form.admin NEQ "">    
     <cfquery name='myQuery' datasource='MyDSN'>
         SELECT * FROM admin 
         WHERE  aID = <cfqueryparam value="#Form.admin#" />
     </cfquery>
<cfelse>
       No value supplied for ClientID
</cfif>
于 2013-05-13T10:57:37.673 に答える