将PHP值传递给ColdFusion

2 php coldfusion parameter-passing

我正在尝试使用POST方法将值从PHP传递到ColdFusion页面.它实际上是一个只有一个文本字段和提交按钮的表单.问题是如何在ColdFusion页面上"捕获"该值以在SQL SELECT语句中使用它.

PHP页面:

<form  action="adminlog.cfm" method="post">
  <input  type="text" name="admin"  placeholder="Admin" required >
  <input  type="submit" value="admin"/>
</form>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

我得到的只是:

执行数据库查询时出错.在线

<cfquery name='myQuery' datasource='MyDSN'>
Run Code Online (Sandbox Code Playgroud)

如果我从SELECT语句中删除WHERE条件id显示数据库中的记录没问题.所以我猜它与传递参数有关.

dun*_*can 7

你想使用cfqueryparam,而不是cfparam.

也可能只有在他们为该字段提供了值时才想要执行此查询.将其添加到您的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>
Run Code Online (Sandbox Code Playgroud)

  • 要彻底,您应该在queryparam标记中指定数据类型. (3认同)