无法创建具有特殊字符姓氏的成员

时间:2014-10-30 23:30:01

标签: coldfusion postgresql-9.1 coldfusion-8 railo

我正在开发一个软件,我不能在姓氏中创建一个带有特殊字符的新成员(即人)。例如,姓氏不能是" O' Connor",因为它包含一个特殊字符。但是这种类型的姓氏可以直接添加到数据库中。

我正在使用ColdFusion和PostgreSQL 9.3。它的工作原理是删除" cleantrim"在编码之前的姓氏功能,但它是一个临时解决方案。任何人都可以帮助我如何做到这一点吗?

                    '#Call.tSurName#', 
                    '#TrimCleanValue(Call.tFirstName)#', 
                    '#TrimCleanValue(CAll.tMiddleName)#', 
                    '#TrimCleanValue(Call.tPReferredName)#', 
                    '#TrimCleanValue(Call.tScoutingName)#',
                    '#TrimCleanValue(Call.tPostNominal)#', 
                    '#Call.tTitle#',

1 个答案:

答案 0 :(得分:4)

您应该对所有数据库插入使用cfqueryparam。特别是来自客户的东西。 cfqueryparam不仅有助于防止SQL注入,它还可以逃避引号,并有助于提高查询速度。

<cfqueryparam cfsqltype="cf_sql_varchar" value="#Call.tSurName#">, 
<cfqueryparam cfsqltype="cf_sql_varchar" value="#Call.tFirstName#">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#Call.tMiddleName">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#Call.tPReferredName">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#Call.tScoutingName">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#Call.tPostNominal">, 
<cfqueryparam cfsqltype="cf_sql_varchar" value="#Call.tTitle">