簡體   English   中英

在查詢中添加SQL字符串

[英]Add SQL strings in a Query

我在Delphi 10.2中有此代碼,並在android中運行。 數據位於遠程mysql服務器中。

Query1.SQL.Text := '';
Query1.SQL.Add('SELECT userid, userphoto, username');
Query1.SQL.Add('FROM users');
Query1.SQL.Add('WHERE usermail = ' + #39 + Text1.Text + #39);
Query1.Execute;

問題是這樣在查詢中添加了SQL

SELECT userid, userphoto, username
FROM users
WHERE usermail = 'THE TEXT
'

該SQL返回一個空字段。 為什么最后一個字符換行? 感謝您的回答。

Text1是哪種組件? 是否接受換行符? 看起來訪問Text1.Text返回'THE TEXT'#10

嘗試檢查最后一個字符是否為#10 (或者可能為#13或最后兩個字符為#13#10 )並將其刪除。

並執行Bruce McGee所說的:使用帶有參數的查詢。 我們不需要另一個容易受到SQL注入攻擊的應用程序。

嘗試Query函數Parameters.ParamByName

在SQL查詢中創建一個名稱為:email的參數,然后分配string值,例如:

Query1.SQL.Clear;
Query1.SQL.Text('SELECT userid, userphoto, username From users where useremail = :email');
Query1.SQL.ParamByName('useremail').Value := 'THE TEXT';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM