我試圖使用LIKE操作在SQL
String camp= nomePesquisa.getValue();
String ql = "select from pessoal where nome_Pessoa like ""'%"+camp+"%'" "";
進行查詢,並提供了以下錯誤
在該行 多個標記串查詢報價問題「」 「」,刪除此 令牌
我試圖使用LIKE操作在SQL
String camp= nomePesquisa.getValue();
String ql = "select from pessoal where nome_Pessoa like ""'%"+camp+"%'" "";
進行查詢,並提供了以下錯誤
在該行 多個標記串查詢報價問題「」 「」,刪除此 令牌
試試這個
String ql = "select * from pessoal where nome_Pessoa like '%"+camp+"%'+ ";
你已經投入了很多quetas,但是如果你因爲某種原因需要他們用蜜蜂串起來,你應該逃脫他們\"
。
P.S.你忘了輸入您想選擇
Select * FROM table
或SELECT col1,col2 FROM TABLE
P.S.S.什麼請不要像這樣查詢參數,因爲這對於Query Injection來說是一個簡單的方法。
拆除該行所有"
:
String ql = "select from pessoal where nome_Pessoa like '%"+camp+"%'+ ";
你是不是串聯任何那裏。
請使用以下方法來刪除不必要的報價:
String ql = "select from pessoal where nome_Pessoa like '%"+camp+"%'+ ";
此外,您還可以使用一些escape
字符。
你可以簡單地寫爲
String ql = "select from pessoal where nome_Pessoa like '%" + camp + "%'";
更改下面的代碼
String ql = "select from pessoal where nome_Pessoa like '%"+camp+"%'+ ";
你錯過了加運算
有導致所有問題一個基本的錯誤:你不不使用參數化查詢。這將a)保護您的代碼免受SQL注入攻擊,並且b)讓您的SQL更易於編寫。
在我的首選編程語言,C#,它是這樣的:
"select from pessoal where nome_Pessoa like @name"
哪裏@name
是你必須在傳遞參數的名稱
它似乎根據你的代碼正在使用Java。 This可能會幫助你。
'String ql =「從pessoal中選擇,其中nome_Pessoa像'%'+ camp +」%'「;' –
有很多引號正在進行。另外,要小心[Bobby Tables](http://bobby-tables.com/)。 – Amadan
你正在使用什麼_scripting_語言?有人可以幫助您避免* SQL注入攻擊*的缺陷。你不應該根據下面的答案解決這個問題,請採取@Patrick Hofman的建議並使用一個參數。 – christiandev