PHP エラー表示に関するメモ
PHPの設定により エラー表示がされない時やワーニングが表示されない場合があるので設定関連のメモ
【error_reportingの設定方法】
// 全てのエラー出力をオフにする
error_reporting(0);
// 単純な実行時エラーを表示する
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// E_NOTICE を表示させる
//(初期化されていない変数、変数名のスペルミスなど…)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// E_NOTICE 以外の全てのエラーを表示する
// これは php.ini で設定されているデフォルト値
error_reporting(E_ALL ^ E_NOTICE);
// 全ての PHP エラーを表示する (Changelog を参照ください)
error_reporting(E_ALL);
// 全ての PHP エラーを表示する
error_reporting(-1);
// error_reporting(E_ALL); と同じ
ini_set('error_reporting', E_ALL);
================================ 注意
php.ini中の「display_errors」が「Off」になっていると
スクリプト中で「error_reporting(E_ALL);」をしても
エラーが一切表示されなくなるようです。
なので「display_errors=On」にすることでエラーを表示させることが出来る。
また warning (警告表示)を出力するには
php.ini の
error_reporting = E_ALL
とする必要がある。(デフォルトでは warning は表示されない)
デバッグ関連の表示に関してここ が為になるのでメモ
【error_reportingの設定方法】
// 全てのエラー出力をオフにする
error_reporting(0);
// 単純な実行時エラーを表示する
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// E_NOTICE を表示させる
//(初期化されていない変数、変数名のスペルミスなど…)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// E_NOTICE 以外の全てのエラーを表示する
// これは php.ini で設定されているデフォルト値
error_reporting(E_ALL ^ E_NOTICE);
// 全ての PHP エラーを表示する (Changelog を参照ください)
error_reporting(E_ALL);
// 全ての PHP エラーを表示する
error_reporting(-1);
// error_reporting(E_ALL); と同じ
ini_set('error_reporting', E_ALL);
================================ 注意
php.ini中の「display_errors」が「Off」になっていると
スクリプト中で「error_reporting(E_ALL);」をしても
エラーが一切表示されなくなるようです。
なので「display_errors=On」にすることでエラーを表示させることが出来る。
また warning (警告表示)を出力するには
php.ini の
error_reporting = E_ALL
とする必要がある。(デフォルトでは warning は表示されない)
デバッグ関連の表示に関してここ が為になるのでメモ
改行の置換
改行文字の置換が巧くいかなかったのでメモ
普段は
$A = str_replace("\n", "", $A);
で改行文字を取り除いていたけど、どうしても取り除けなかったので
以下の正規表現で改行文字を取り除く
//正規表現で改行文字を処理
$A = preg_replace("/(\r\n|\n|\r)/", "", $A);//改行文字を取り除く
だと巧くいきました。
普段は
$A = str_replace("\n", "", $A);
で改行文字を取り除いていたけど、どうしても取り除けなかったので
以下の正規表現で改行文字を取り除く
//正規表現で改行文字を処理
$A = preg_replace("/(\r\n|\n|\r)/", "", $A);//改行文字を取り除く
だと巧くいきました。
時間に関するSQL
DATETIME
フォーマット : 'YYYY-MM-DD HH:MM:SS'
範囲 : '1000-01-01 00:00:00' から '9999-12-31 23:59:59'
時間の範囲指定
SELECT * FROM test WHERE datetime型のフィールド名 BETWEEN '2008-08-23 19:00:00' AND '2008-08-23 19:05:00';
MEMO
INT型で検索したほうが断然早いらしい(3,4倍違う)詳しくは下記検証サイト
MySQLでDATETIME型のデータを高速に検索する方法
他の時間の型の詳しい解説
日付型と時刻型
フォーマット : 'YYYY-MM-DD HH:MM:SS'
範囲 : '1000-01-01 00:00:00' から '9999-12-31 23:59:59'
時間の範囲指定
SELECT * FROM test WHERE datetime型のフィールド名 BETWEEN '2008-08-23 19:00:00' AND '2008-08-23 19:05:00';
MEMO
INT型で検索したほうが断然早いらしい(3,4倍違う)詳しくは下記検証サイト
MySQLでDATETIME型のデータを高速に検索する方法
他の時間の型の詳しい解説
日付型と時刻型