私はこのコードをDelphi 10.2で使用し、アンドロイドで動作します。 データはリモートのmysqlサーバにあります。クエリでSQL文字列を追加
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はSQLが空のフィールドをバック与えることをこのように
SELECT userid, userphoto, username
FROM users
WHERE usermail = 'THE TEXT
'
が追加されます。 最後の文字が改行するのはなぜですか? あなたの答えをありがとう。
デバッグこのコードを無関係な、代わりのあなたを連結text1.Textを –
に埋め込まれた改行文字があるかどうかを確認そのような節は、私は強くパラメータを使用することをお勧めします。現在のコードはSQLインジェクションの影響を受けやすいです。 –
パラメータクエリを使用していない場合は、少なくとも手動クォートの代わりに 'QuotedStr()'を使用してください: 'Query1.SQL.Add( 'WHERE usermail =' + QuotedStr(Text1.Text) );これはSQLインジェクション攻撃を防ぎます。 –