問題タブ [dbi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3115 参照

mysql - Ruby で MySQL の結果から列見出し名を取得する

Ruby mysql モジュールを使用しています。

クエリの結果を印刷して、列名を含めたいと考えています。これらの名前の配列を取得する方法を見つけるのに苦労しています。以下に示すような値があります。

result = my.query("select * from foo")

result.each do |行| puts row.join(',') end

助けてくれてありがとう!

0 投票する
1 に答える
12100 参照

perl - PerlのMySQLに配列データを挿入するにはどうすればよいですか?

以下のスクリプトを使用してテキストファイルを解析します。

配列データをMySQLテーブルに挿入する方法は?

私はすでにPerlMySQLDBI接続方法を学びました。そして、ローカルのMySQLDBに正常に接続できます。MySQLコマンドラインでテーブルを作成できます。

テーブルの参照結果が必要です。

0 投票する
2 に答える
746 参照

mysql - Perl DBI クエリが CGI スクリプトで結果を返さないのはなぜですか?

私は初めて DBI を使用しています (そして Perl を始めて間もない [2 週間]) が、データベースから何の結果も得られないようです。ここに私が持っているものがあります:

現状では、正しいかどうかを確認してからKI、機能する行数を確認します。私がうまくいかないのは、配列から値を返すことです。

誰かが私が間違っている場所を教えてくれれば、それは大歓迎です。

0 投票する
2 に答える
131 参照

sql - クエリの質問を選択

mysql-databaseにフィールドを持つテーブルがあります

「名前」、「タイトル」、「cd_id」、「トラック」

エントリは次のようになります。

CDごとのトラック(cd_id)を取得するには、次のスクリプトを作成しました。

適切な選択クエリを使用してこれらの結果を直接取得することは可能ですか?

0 投票する
5 に答える
10993 参照

perl - Perl の DBI 用の PHP の mysql_real_escape_string() に相当するものはありますか?

DBIモジュールmysql_real_escape_string()の Perl 用の PHP と同じように機能する関数があるかどうか教えてもらえますか?

0 投票する
1 に答える
590 参照

perl - データベースに HTML を挿入できないのはなぜですか?

データベースへの挿入時にエラーが発生しました。私はこれを支持するためにあらゆることを試みました。誰かが DBI の trace() を使用して何が問題なのかを追跡すると言いましたが、私は何が起こっているのか頭も尻尾もわかりません。誰かが見て、彼らが問題だと思うものを見てください。

>>> 編集 <<<<<<

完全なコードを投稿しようとしましたが、許可しませんでした:

0 投票する
4 に答える
1952 参照

mysql - MySQL は PostgreSQL (Perl/DBI の下) よりも SQL インジェクション攻撃に対して耐性がありますか?

ユビキタスなログイン ハンドラーを含む Linux ベースの perl Web アプリケーションをレビューしています。

my $sth = $DB->prepare("SELECT password from password where userid='$userid'") または die; $sth->実行するか死ぬ; ...

ここで、$userid は (安全でない、フィルター処理されていない) Web ユーザー入力から初期化されます。

DBI ドキュメントでは、このコードをプレースホルダ「?」を使用するように変更することを推奨していることはよく知られています。セキュリティのために「$userid」の代わりに。

このコードは、セキュリティ レビューの目的で、オフ ネットワーク ボックスにそのまま分離されました。 現在、この脆弱性をスキャンするボットが存在するため、インターネット サーバー上のこのようなコードは最終的にクラックされます。また、既知のインジェクションによってデータベースが削除されたり、不正なデータや新しいユーザーが挿入されたり、アクセス制御をバイパスして Web アプリケーションへのエントリが許可されたりする可能性があるため、アクセス制御は重要なものを保護するには効果的ではありません。

アプリケーションは PostgreSQL または MySQL のいずれかを使用するように構成でき、相対的な脆弱性について疑問が生じたため、両方のデータベースを試し、SQL インジェクションを試行して各構成をテストしました。

PostgreSQL では '; を入力します。ここで悪いことをします。そしてここ; 予想どおりログイン cgi をクラッシュさせ、悪いものを実行します。

予想外だったのは、MySQL がこの攻撃に抵抗したことです。これは、DBD::MySQL などに何らかの設定があり、準備を呼び出しごとに 1 つのステートメントに制限したのか、それとも他の方法で MySQL に耐性があるのか​​疑問に思いました。

私が理解しているように、MySQL は一般的に SQL インジェクション耐性がありません。

これは、SQL インジェクションを排除するためのテクニックだけの問題ではありません。そのためには、SQL インジェクション攻撃を回避するにはどうすればよいですか? を参照してください。.

問題は、MySQL は PostgreSQL よりも PERL DBI の下での SQL インジェクション攻撃に対して何らかの形で耐性があるのでしょうか? また、なぜそうなのかということです。

0 投票する
3 に答える
3483 参照

mysql - プリペアド ステートメントで MySQL 関数をバインド パラメータとして渡すにはどうすればよいですか?

私はこれをやろうとしています:

運がなければ。何か案は?

0 投票する
1 に答える
3516 参照

sql - SQLを使用してMSAccessデータベースの「テーブルを表示」するにはどうすればよいですか。

アクセスはすべてのテーブルを取得するという質問への回答に基づいてコードを作成しましたが、次のエラーが発生します。

DBD :: ODBC :: stの実行に失敗しました:[Microsoft] [ODBCMicrosoftAccessDriver]レコードを読み取ることができません。'MSysObjects'の読み取り権限はありません。(SQL-42000)direct.plの22行目。

[Microsoft] [ODBCMicrosoftAccessドライバー]レコードを読み取ることができません。'MSysObjects'の読み取り権限はありません。(SQL-42000)direct.plの22行目。

これが私がこれまでに試したことです。私は最初の試みをコメントアウトしました。現在の試みは、アスタンダーが上記の質問に対する回答で言及したSELECT "Table"AS[Table]に基づいています。どちらの方法でも同じエラーが発生します。これが私のコード全体です:

0 投票する
6 に答える
28630 参照

perl - PerlのDBIで列名と行データを順番に取得するにはどうすればよいですか?

DBIを使用してSQLite3データベースにクエリを実行しています。私が持っているものは機能しますが、列が順番に返されません。例:

ハッシュを使用しているためにこれが発生していることはわかっていますが、配列のみを使用している場合、他にどのようにして列名を元に戻すことができますか?私がやりたいのは、任意のクエリに対して次のようなものを取得することです。

(つまり、出力が正しい順序で列名が付いている必要があります。)

私はPerlの初心者ですが、これは単純な問題だと本当に思っていました。(これは以前にRubyとPHPで行ったことがありますが、Perlのドキュメントで探しているものを追跡するのに問題があります。)

これが私が現在持っているものの簡素化されたバージョンです: