2013-05-13 2 views
2

Я пытаюсь передать значение с PHP на страницу ColdFusion, используя метод POST. Это фактически форма, которая имеет только одно текстовое поле и кнопку отправки. Вопрос заключается в том, как «поймать» эту ценность на странице ColdFusion, чтобы использовать ее в инструкции SQL SELECT.Передача значения PHP для ColdFusion

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'> 

Если удалить WHERE условие из оператора SELECT ID отображает записи из базы данных не проблема. Поэтому я предполагаю, что это связано с передачей параметра.

+0

В '<входной тип = "текст" имя = "админ" заполнителем = "Admin" требуется>' "требуется" может не делать ничего –

ответ

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> 
+0

Да !!! Отлично!!! Спасибо, duncan !!! Другой вопрос: почему моя форма уже имеет значение, когда я открываю страницу ...? – 2013-05-13 11:06:58

+0

Не берите в голову, что это решило! Странная проблема, хотя .. Спасибо! – 2013-05-13 11:19:26

+3

Чтобы быть точным, вы должны указать тип данных в теге queryparam. –

Смежные вопросы