Symfony2

「SQLSTATE[HY000]: General error: 1030 Got error 28 from storage engine」と出た。

Symfony2で既存のテーブルからエンティティを作成するコマンドを実行したら、以下のようにエラーメッセージが出て失敗したどうやら原因はMySQLサーバがあるサーバ上のディスク容量がないことでした。MySQLサーバのディスク容量に空きを作っ...
Symfony2

データベースアクセスの基本

Doctrineによるデータベースへのアクセスの基本は以下になります。1.Controllerクラスからアクセスする2.Controllerクラスで$this->getDoctrine()->getEntityManager()とやって、エ...
Symfony2

twigテンプレートでurlエンコードを行う

"text/html"という値が入ったvalueという名前の変数をURLに使いたい場合、このままだと特殊記号の"/"が入っているため正常に動作しなくなる可能性があります。こういうことを避けるため変数をURLに使うバイはurlエンコードをして...
Symfony2

「Schema-Tool failed with Error ‘could not find driver’ while executing DDL: …」というエラーが出た場合

symfony2をコマンドラインで実行したら以下のようなエラーが出ました。このエラーメッセージは、pdoドライバがないからデータベースに接続できません。と、言っています。phpinfoで、PDOの項目をみてインストールされていないか確認して...
Symfony2

「A template that extends another one cannot have a body in XxBundle:Xx:xxx.html.twig at line 2.」というメッセージがでる。

「AtemplatethatextendsanotheronecannothaveabodyinXxBundle:Xx:xxx.html.twigatline2.」上記のようなメッセージが出た場合、これは、extendsした方のテンプレート...
MySQL

PHPでMySQLにアクセスすると「mysql_query(): supplied argument is not a valid MySQL-Link resource in xxx.php on line xxx」と出る

これは、mysqlに接続できていない状態にもかかわらず、mysql_query()などの関数を実行するとでます。mysqlへの接続がうまくいっていないので、ユーザ名やパスワード等が間違っていない確認してみてください。/
Symfony2

twigテンプレートで日付のフォーマット変換をしたい場合

twigテンプレートで日付のフォーマット変換をしたい場合以下のようにします。(todayにはUNIXタイムスタンプが入っていると仮定します。)これで、結果が以下のようになります。
PHP

PHPで「Fatal error: Class ‘DOMDocument’ not found in xxxx.」と出る

PHPで「Fatalerror:Class'DOMDocument'notfoundinxxxx.」というエラーがでた!!DOMがPHPに組み込まれていないらしい。。。php-xmlをインストールすればOKみたいです。インストールしたら、a...
MySQL

既存のテーブルにあるカラムの名前を変更する

以下の構文でカラム(フィールド)の名前を変えることができます。ただし、同時に型も指定する必要があり、これを正しく指定しておかないと名前だけでなく型も変わってしまうので注意が必要です!/
MySQL

挿入したレコードのIDを取得するには?

直前に挿入したレコードのIDを取得する関数「LAST_INSERT_ID()」を使います。PHPではたとえば以下のように使います。これで、$idに直前にinsertしたレコードのidが入ります。/
Symfony2

Symfony2でコマンドラインから実行し、データベースに登録する(8)

8.登録した名前を表示するコマンドデータベースに登録するだけだとつまらないので、登録したデータを表示するコマンドクラスも作成してみます。Command/ListCommand.phpファイルを作成し、以下の内容を記述します。上記ファイル作成...
PHP

PHPで配列の中の内容を含めて文字エンコードをしたい。

そういうときは、mb_convert_variables()を使用します。以下のように使います。$result=mb_convert_variables("EUC-JP","auto",$result);/
Symfony2

Symfony2でコマンドラインから実行し、データベースに登録する(7)

7.コマンドを実行して名前を登録するCommandクラスのconfigure()メソッド内で、setName()したものを、"app/console"の後に記述し、その後に必須引数である名前を入力して実行します。実行後、mysqlサーバに接...
MySQL

テーブルの結合2(等価結合)

単純結合だと無駄な行がたくさんできてしまいます。そこで登場するのが等価結合で、二つの表について一致している行のみ結合させます。member表に追加で各メンバーの出身地の人口(population)を表示させるにさせる例を以下に示します。/
PHP

PHPでメールを送信したい

メールを送信するにはmb_send_mail()関数を使用します。mb_send_mail()はmail()のラッパー関数でヘッダと本文がmb_language()の設定に基づき変換、エンコードされます。たとえば、hogehoge@exam...
Symfony2

Symfony2でコマンドラインから実行し、データベースに登録する(6)

6.コマンドクラスを修正してコマンド実行時にDB登録処理もするように変更する前回までの作業で、Symfony2でデータベースを使用する準備が整ったので、Commandクラス(コマンドクラスCommand/PersistCommand.php...
MySQL

テーブルの結合1(単純結合)

結合には以下のように種類がいくつかあります。単純結合等価結合非等価結合外部結合再起結合今回はこの中で、単純結合のご紹介をします。まず、以下の二つのテーブルがあるとします。これら二つを単純結合すると「x」の行数のテーブルが出来上がります。テー...
PHP

配列の中のどれかには一致するか?(in_array関数)

in_array関数を使うことで、配列に入った複数の値の中に対象の値があるかどうかを簡単に調べることができます。たとえば、配列変数$today_menuに"エビ","ピーマン","きゅうり"のように、食べ物のリストが入っているとし、$my_...
Symfony2

Symfony2でコマンドラインから実行し、データベースに登録する(5)

5.エンティティクラスからテーブルを作成する4.で作成したエンティティクラスには各フィールドやメソッドの前にアノテーション(コメントによる記述)として設定情報が記載されてます。これを元にdoctrineは実際のテーブルをデータベースに作るこ...
MySQL

MySQLのテーブルから列を削除する

作成済みのテーブルに対して後から列を削除したくなるときもあります。そういう時は、"altertable"で"drop"句を使って行います。書式は以下です。addressテーブルからtemperatureフィールドを削除する場合は以下のように...