2

我正在尝试使用 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>

冷融合页面:

<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 语句中删除 WHERE 条件,则显示数据库中的记录没有问题。所以我想这与传递参数有关。

4

1 回答 1

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>
于 2013-05-13T10:57:37.673 回答