[MySQL] MySQL Workbenchで既存データベースのER図を表示する[MySQL] MySQL Workbenchで既存データベースのER図を表示する
SQL Workbenchを起動。 まずは[MySQL Connections]の[+]アイコンをクリックしてMySQLへの接続を定義する。 データベースサーバーの情報を入力して[OK]ボタンを押下する。 接続が定義され […]
SQL Workbenchを起動。 まずは[MySQL Connections]の[+]アイコンをクリックしてMySQLへの接続を定義する。 データベースサーバーの情報を入力して[OK]ボタンを押下する。 接続が定義され […]
ER図を書きながらデータベーススキームを設計したい。というわけで、ER図を描けるフリーソフトを探してみた。 まとめページ ER図を描けるフリーソフト、お薦めは? – 人力検索はてな http://q.hatena.ne. […]
MySQL覚え書き。必須じゃないけど考慮しておくといざというときに役に立ちそうな「外部キー制約」。 外部キー制約とは あるテーブルから別のテーブルを参照するために、別のテーブルのIDを「外部キー」として格納している場合、 […]
以前のエントリでFIND_IN_SET()関数の用法を紹介したけど。今回はその派生的なトピックス。ちょっと変わったFIND_IN_SET()の使い方かも。たとえば SELECT * FROM TABLE WHERE id […]
MySQLのテキスト型にはVARCHARと?TEXT(TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT)がある。長さの制限が違うだけで、どれを使ってもテキストを格納できるが、それぞれ特性は違うのだろう。 […]
会員制サイトを簡単に運営するにはApacheのBasic認証が便利。パスワードを平文で記述した.htaccessファイルをウェブから見えないパスに置いておけばとりあえず事は足りる。しかし会員数が増えてくると.htacce […]
MySQLのテーブルを複数フィールドの値を使った計算結果で抽出したりソートしたい。例えば、ブログの記事に対して読者が星1つから5つの間で評価を行い、データベースの記事レコードには星の数と評価数が積算されているような状況で […]
MySQLのテーブルにカンマ区切りの部分文字列を格納しているフィールドがあり、そのフィールドに特定文字列を含むレコードだけを抽出したい。例えば、このブログのエントリがレコードだとすると、レコードごとに複数のタグを付けるこ […]
PHPUnitはPHP版のxUnit、すなわちユニットテスト自動化のためのフレームワーク。 さほどPHP暦が長くない自分はこれまでテストを書いてこなかったのだけど、現在携わっているプロジェクトの複雑さが増すにつれてテスト […]
PHPでも関数の引数を参照渡しできる。 参照渡しするには変数に&を付ければ良い。 function add_some_extra(&$string) { $string .= 'and something […]
ユーザの満年齢をチェックしたいときがある。 たとえば18禁のエロサイトとか、成人していることが条件の通販サイトとか。ユーザに誕生日を入力させて、現時点の満年齢をチェックしたい。 今日と誕生日の2つのDateTimeオブジ […]
ユーザに入力させた日付が実際に存在するかチェックしたいときがある。 たとえば30日しかない月なのに31日と入力されたり、うるう年でないのに2月29日と入力されたり。そういった不適切な入力を検知して、ユーザに再入力を促した […]
便利なPHPの言語仕様にの1つにlist構文がある。 list構文を使うことで、関すから複数の値を返すことができる。 function small_numbers() { return array (0, 1, 2); […]
strpos関数を使う。マルチバイト文字列の場合はmb_strpos関数。 strpos関数は文字列中で部分文字列が最初に現れる位置を0ベースの整数値で返す。部分文字列が見つからない場合はFALSEを返すのでこれをチェッ […]
PHPには === (イコールが3個) という比較演算子がある。 C++やC#から来た人は意外に思うかも。僕も最初「なんだこれ?」と思った。 マニュアルを見て違いを押さえておく。 例 名前 結果 $a == $b 等しい […]
date_diff() 関数を使うと、2つの日時の差を得ることができる。 // 日時1 $datetime1 = date_create('2007/04/11 01:23:32'); // 日時2 $datetime2 […]
メールを送信するサンプルコード。メール本文はSmartyで定義。 Hello, {$recipient}. How are you? See you soon! $to = "hanako@example.com"; $ […]
メールを送信するサンプルコード。 $to = "hanako@example.com"; $from = "taro@example.com"; $bcc = "takeo@example.com"; $return = […]
複数のプロセスが同じファイルに書き込むような場合には排他制御が必要になる。 しかし、書き込もうとしたファイルが既に別プロセスによってロックされていた場合に「ロックされていたので書けませんでした」と言われても困る。別プロセ […]
$_SERVER配列にセットされる情報は、Proxyサーバーを経由するかしないかで若干変わってくる。 Proxyサーバーを経由しない場合 $_SERVER[‘REMOTE_ADDR’] – アクセ […]