Delphi 2010を使用して、TSQLQueryとTSQLConnectionを使用してリモートのMySQLサーバーに接続しました。次のように私は、SQLクエリを使用していますSQLクエリの結果を取得するにはどうすればよいですか?
SQLQuery1.SQL.Text := 'SELECT * FROM registered WHERE email="'+email+'" and login_pass="'+password+'"';
SQLQuery1.Open; // Open sql connection
私はこのクエリによって選択されたデータをリストまたは表示するために何をすべきか?私は
SQLQuery1['who']; // The resault is : James Kan
を入力すると
私はそれがリスト内の最後の項目が表示されていると思います。しかし、私はPHPでforeachループを使うことができるので、各項目を表示したいと思います。たとえば、アイテムごとにTLabelを作成するにはどうすればよいですか?余談に注意したよう
のような結果セットを反復、あなたはSQLのコーディング方法は、「SQLインジェクション」を可能にする通常の方法です。これはログインテーブルで行い、スマートユーザはテーブル全体を読むことができます。 「SQLパラメータ」、つまりemail =:emailとlogin_pass =:を使用する必要があります。 文字列を最初に「サニタイズ」せずに文字列を連結することは、ユーザーが「適切な」文字列を入力してクエリの意味を完全に変更できるため、危険です。 –
パラメータを使用すると値がエスケープされますが、 'NULL'をフィルタリングする必要があります。また、LIKE句を使って '%'と '_'をフィルタします。 –