(ColdFusion + Access) Ошибка запроса базы данных «Слишком мало параметров». - PullRequest
2 голосов
/ 17 октября 2011

Я собираюсь сорвать с этого волосы.

Error Executing Database Query.
[Macromedia][SequeLink JDBC Driver][ODBC Socket][Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 3.

The error occurred in [WITHHELD]: line 19

17 :                 WHERE      FNAME = #FORM.first#
18 :                 AND            LNAME = #FORM.last#
19 :                 AND            PASS = #FORM.pass#
20 :             </cfquery>
21 :         

SQLSTATE      07002
SQL        SELECT * FROM JUDGES WHERE FNAME = [WITHHELD] AND LNAME = [WITHHELD] AND PASS = [WITHHELD]
VENDORERRORCODE       -3010
DATASOURCE    honors

Я читал ряд подобных проблем, где была некоторая орфографическая ошибка, но я проверил и перепроверил орфографию, дажеизменил имена столбцов и таблиц и повторил попытку.

1 Ответ

6 голосов
/ 17 октября 2011

Убедитесь, что вы указали в кавычках свои переменные:

where FNAME = '#FORM.first#'

Кроме того, вы действительно должны использовать cfqueryparam для защиты от атак SQL-инъекций :

where FNAME = <cfqueryparam value="#FORM.first#" cfsqltype="CF_SQL_VARCHAR">

(обратите внимание, что вам не нужны кавычки при использовании cfqueryparam)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...