タグ

MySQLと開発に関するglcsのブックマーク (9)

  • MySQLのUNICODEベースのDBが標準でUTF8文字コードを返してくれない不思議 [Archive] - XREA&CORE SUPPORT BOARD

    s278サーバーのXREA+でphpとの連携としてMySQLを使い始めた者です:o サーバーの各バージョンは以下の通りです。 PHP - 5.1.6 MySQL - 5.1.16-beta phpMyAdmin - 2.8.2 (s278サーバー登録、DB作成、phpmyadminインストール以外、操作は行っていません) データベースをUNICODEで作成し、UTF8コードの2バイト文字データを含むテーブルを作成しました。 (※テーブル中の文字コードがUTF8なのはphpmyadmin上から、またエクスポート等で確認) このテーブルから、phpを使いDBからUTF8コードの文字列データを取り出そうと、 例として以下のような必要最低限のプログラムを実行しました。 <? $con = mysql_connect('localhost','accoun

  • SET NAMESは禁止?

    CakePHPは、PHP言語の高速開発用フレームワークです。日々、発展を遂げる各種フレームワークの動向を見極めつつ、日発のCakePHP応援ブログとして、最新情報をお届けします。 PHPセキュリティに詳しい大垣さんのブログ SET NAMESは禁止 (引用) ============ 脆弱性の説明は面倒ですが注意事項は簡単です。「DBMSをアプリケーションから利用する場合、文字エンコーディング設定は必ずAPIを利用する」つまり「SET NAMES(SET CLIENT_ENCODING等も)は禁止」です。 ============ 日語以外の記事では、「SET NAMESを使ってはいけない」とまで書いている記事が見つからなかったので、いまだすんなりと納得できていないのですが、今後、MySQL 4.1以上を入れた共有サーバなんかではどうすればいいんでしょうか…。 “SET NAMES

    SET NAMESは禁止?
  • SET NAMESは禁止

    (Last Updated On: 2018年8月13日)MySQLには文字エンコーディングを変更する「SET NAMES」SQL文が用意されています。(PostgreSQLも同様のSQL文、SET CLIENT_ENCODINGがあります)この機能はSQLコンソールからは使ってよい機能ですが、アプリケーションからは使ってはならない機能です。SQLインジェクションに脆弱になる場合があります。 Ruby on Railsを読んでいて、ActiveRecordを説明している部分にMySQLの文字エンコーディングを変更する場合の例としてSET NAMESが利用されていました。アプリケーションからはSET NAMESは使ってはならない事を周知させるのは結構時間が必要かなと思いました。 PHPも5.2の途中からMySQLモジュールにlibmysqlの文字エンコーディング設定APIのラッパー関数が

    SET NAMESは禁止
  • utf8_general_ci と utf8_unicode_ci の違い - Ceekz Logs (Move to y.ceek.jp)

    以前までは、データベース MySQL を利用したアプリケーションを作るときは、文字コードとして EUC-JP を利用していました。最近は、国際化との兼ね合いなどから UTF-8 を利用するようにしています。 MySQLUTF-8 を扱う場合、照会順序として utf8_bin を使用していました(何も考えずに)。 utf8_bin の場合、部分一致探索 LIKE などの使用時に英字の大文字小文字が区別されてしまう。大文字小文字を区別されないようにするためには、照会順序として utf8_general_ci を使用すればよいのですが、他にも utf8_unicode_ci があることに気がつきました。 utf8_general_ci と utf8_unicode_ci では、どこが違うのだろう? utf8_general_ci also is satisfactory for both

    glcs
    glcs 2008/03/21
    誰かが作ったDBでテーブルごとにutf8_general_ciとutf8_unicode_ciが混在していて結合時にエラーが生じて困った
  • [Think IT] 第7回:トリガ (1/4)

    「第6回:ストアドプロシージャ」では、データベースサーバ内で動作するアプリケーションとしてストアドプロシージャを取り上げました。このストアドプロシージャと同様に、データベースサーバ内で動作するアプリケーションの代表格に「トリガ」があります。 そこで今回はこのトリガを取り上げ、PostgreSQLMySQLの違いを説明します。 「トリガ」とは、データベースに対して何らかの処理が加えられたときに、その処理をきっかけとして事前に用意したプログラムを自動的に起動する機能およびそのプログラムのことです。トリガは特殊なストアドプロシージャの一種で、処理の内容と起動する条件、実行するタイミングなどを指定し、設定を行います。 実はこれまでトリガを使用できたのはPostgreSQLで、MySQLでは使用できないといわれていました。しかしストアドプロシージャと同様に、MySQLのバージョン5.0においてトリ

    glcs
    glcs 2008/03/18
    MySQLとPostgreSQL,トリガ
  • Solaris 10 | Shinta's Site

    Solaris 10 に、 MySQL をインストールする方法や PHP や Apache をインストールする方法 をまとめてあります。 Solaris 10 のパッケージに含まれている gcc (GNU Compiler Collection) は /usr/sfw/bin にコマンドがあるので、環境変数PATH に登録しておくとよいでしょう。また、/usr/sfw/lib にインストールされている多くのライブラリを gcc はそのまま利用できます(LD_RUN_PATHを指定する必要がありません)。 Solaris 10 にて gcc を利用して MySQL などをコンパイルする場合、libstdc++.laの内容が空であるために出力される "libstdc++.la is not a valid libtool archive" エラーに対処しておかなければなりません。(Solari

  • MySQL :: MySQL Forums

  • bnote File Not Found!

    ただいまページメンテナンス中です。htmlをshtmlとすることで目的のページに アクセスできるかもしれません。 あなたがアクセスしたページ(URL)は、存在していないか、変更されました。 メインページに戻って、もう一度アクセスしてください。 もしこの問題が続くようでしたら、管理者に通知してください。 Thank You www.bnote.net

  • トップページ - DB Designer 4 日本語化サイト

    オープンソースでフリーなER図作成ツール「DBDesigner4」の日語化を試みるサイトトップページ このサイトについて bookmark このサイトはfabForceで公開されているDBモデリングツール「DB Designer 4」の日語化を試みるサイトです。 個人が運営するサイトなので公式なサイトではありません。 「DB Designer 4」はGPLライセンスで公開されているオープンソースソフトウェアです。 「DB Designer 4」についての詳細情報は家サイトをご参照ください。 fabFORCE.net DBDesigner4の特徴 bookmark 直感的なGUIによるERモデル図のモデリング ERモデル図からSQL文(CREATEやDELETE)の自動生成 データベースからリバースエンジニアリングによるERモデル図の生成 データベースとERモデル図の同期化機能 軽快

    glcs
    glcs 2008/02/11
    わけわからない手製の図を見せられるよりこれに突っ込んだほうが早いかもしれない
  • 1