DAY 45 WEBサービス Lesson18 PHP自主練 PHPエラー備忘録

DAY 45 WEBサービス部-Lesson18-php自主練 – phpのエラー記録【ウェブカツ 】

PHP DAY 45 WEBサービス Lesson18 PHP自主練 PHPエラー備忘録

WEBサービス部 Lesson18 / 0.5hour

PHP自主練 / 1.5hour

Sep / 14.5hour

Total / 116hour

 

WEBサービス部の自主練用教材

 

PHPで自分が犯したミス(エラー)の備忘録。

PDOオブジェクトのセミコロン

  $dsn = 'mysql:dbname=shop,host=localhost,charset=utf8'; //(誤)

  $dsn = 'mysql:dbname=shop;host=localhost;charset=utf8'; //(正)

PDOオブジェクトでデータベースにアクセスする際のデータベース指定に際して。

カンマではなく、セミコロンで各情報を区切る。これ絶対。

 

try-catchの(Exception $e)にカンマをつけてしまう

try{
}
catch (Exception, $e) {
} //(誤)

try{
}
catch (Exception $e) {
} //(正)

例外処理に使用する、try-catch構文。

catchのあとに指定する(Exception $e)について、つい癖で引数のようにカンマを記述してしまうが、これはアウト。

これをつけるだけで「このページは動作していません」が出ます。

 

比較演算子「==」を「=」としてしまう

if($staff_name = '') {

} //(誤)

if($staff_name == ''{
}//(正)

「こんなの、間違える訳ないじゃん」と、自分でも思いますがやらかしました。

結構「間違えようがない」という部分が間違えていると、ミスに気づくまで時間がかかります。

 

文末セミコロンのつけ忘れ

$dsn = 'mysql:dbname=shop;host=localhost;charset=utf8';
      $user = 'root';
      $password = 'root';
      $dbh = new PDO($dsn, $user, $password)
//(誤)

$dsn = 'mysql:dbname=shop;host=localhost;charset=utf8';
      $user = 'root';
      $password = 'root';
      $dbh = new PDO($dsn, $user, $password);
//(正)

(誤)となっているコードは、最後の行に「;」がないだけです。

たったこれだけです。

・・・でもPHPくんは「エラーやで」と表示してきます。

特に頭が疲れてきたり、集中が切れてくるとこのミスを誘発しやすく、またエラーとなった場合に前述した状態だとなかなかエラーを見つけることができない、という負のループに入ります。

全角スペースが入ってる

$rec = $stmt->fetch(PDO::FETCH_ASSOC); //(誤)

$rec = $stmt->fetch(PDO::FETCH_ASSOC); //(正)

すごく分かりづらいですが、間違っている方のコードは文末に全角スペースがあります。

これ、めちゃくちゃわかりづらいので使用しているエディタなどでスペースを表示するなどして視覚化した方がいいです。

 

プログラミングはエラーとの戦い、ということは分かっているもののやっぱりエラーがない方がストレスはすくないです。

上記のようなミスを少しでも減らし、どんどんコードを書いていければと思います。

 

学習は全てウェブカツ!!というプログラミングスクールで学んでいます。

プログラミングスクール「ウェブカツ!!」

大手スクール生徒や現役エンジニアが多数学び直している「実務レベル」に特化した「稼ぐ」ためのプログラミングスクール[…]

DAY 45 WEBサービス Lesson18 PHP自主練 PHPエラー備忘録
最新情報をチェックしよう!