我正在查看Values表的列val中的所有記錄,並將所有絕對url轉換爲相關的url。我得到這個錯誤在查詢中的cfloop中更新cfquery
[Macromedia][SQLServer JDBC Driver][SQLServer]Incorrect syntax near '='.
在第3〜這塊代碼的最後一行:
<cfquery name="getVals" datasource="#dataBase#">
Select vals
FROM Values
</cfquery>
<cfloop
query = "getVals">
<cfset val=#vals#>
<cfset valEdited= REReplace(
val,
'"(https?:\/\/)?(www\.)?(example\.com)(\/)?"',
"'index.php'",
'ALL'
)>
<cfquery name="update" datasource="#dataBase#">
UPDATE Values
SET vals = <cfqueryPARAM value = #valEdited#>
WHERE ID = <cfqueryPARAM value = #getVals.currentRow#>
</cfquery>
</cfloop>
關於如何解決它的任何想法?
嘗試'',它不僅更安全,但它也逃脫VARCHAR字符串,以確保它會工作。 'vals ='後不需要單引號' –
Henry
2013-04-24 19:08:37
你的'rereplace'行末尾還有一個額外的分號。 – 2013-04-24 19:12:00
* WHERE ID =#getVals.currentRow#*您應該使用唯一記錄'ID',而不是查詢行號。同樣如前所述,在兩個*變量上使用'cfqueryparam'。 – Leigh 2013-04-24 19:12:06