При выполнении cfquery для MySQL MYSQL выдает ошибку «Неизвестный столбец» «Вопрос» в «списке полей» в следующем коде:
<cfquery name="qUpdateTheQuestion" datasource="testmaster">
INSERT INTO ETrueFalseQuestions
VALUES (<cfoutput>#newTypeID#</cfoutput>, `<cfoutput>#FORM.Question#</cfoutput>`, <cfoutput>#FORM.truefalse#</cfoutput>
Я перепробовал все, что мог придумать, чтобы попытаться решить эту проблему, а также некоторые предложения, которые я нашел при поиске решения, такие как использование обратных кавычек вместо одинарных кавычек.
Я также не понимаю, почему он ищет столбец с именем Question, поскольку это значение FORM.Question и изменяется в зависимости от того, что вводится в форму. Любые предложения будут ценны.
cfqueryparam
:<cfqueryparam value="#newTypeID#" cfsqltype="CF_SQL_INT" />
,<cfqueryparam value="#FORM.question#" cfsqltype="CF_SQL_VARCHAR" />
,<cfqueryparam value="#FORM.truefalse#" cfsqltype="CF_SQL_BIT" />
- person Sean Walsh   schedule 26.03.2012FORM.Question
содержит строку. Литеральные строки должны быть заключены в одинарные кавычки (или заключены в cfqueryparam), в противном случае ваша база данных предполагает, что это имя объекта, т.е. имя столбца или таблицы. Кроме того, вам никогда не понадобятся тегиcfoutput
в cfquery. - person Leigh   schedule 26.03.2012cfqueryparam
дает следующие преимущества: защита от атак с внедрением SQL и использование переменных связывания, что позволяет базе данных повторно использовать скомпилированные запросы и, таким образом, повысить производительность. - person ale   schedule 26.03.2012<cfoutput>
также не нужны внутри тегаcfquery
. - person ale   schedule 26.03.2012