SEO・アフィリ・PHPに関するブログ -5ページ目

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 は表示されない)

デバッグ関連の表示に関してここ が為になるのでメモ

改行の置換

改行文字の置換が巧くいかなかったのでメモ

普段は
$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型のデータを高速に検索する方法

他の時間の型の詳しい解説
日付型と時刻型