android - 在查询中添加 SQL 字符串

标签 android mysql delphi

我在 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 注入(inject)攻击的应用程序。

关于android - 在查询中添加 SQL 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43090392/

相关文章:

android - 底部的 ScrollView 和 Admob Ad

mysql - 每分钟给出日期,每两提取一次

mysql - SQL INNER JOIN 返回空结果

c# - .NET 中未显示 Delphi COM 对象

java - 音频文件未出现在播放音乐应用程序中

java - Android 在打开浏览器之前从 http 链接收集信息

mysql - 使用 CASE 后无法按超过 1 列对 sql 中的结果进行排序

delphi - 我无法使用接口(interface)编译类

Delphi:从流中打开 zip 存档 -> 提取到流

android - Android BluetoothGattCallback 是否需要及时返回?