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); //(正)
すごく分かりづらいですが、間違っている方のコードは文末に全角スペースがあります。
これ、めちゃくちゃわかりづらいので使用しているエディタなどでスペースを表示するなどして視覚化した方がいいです。
プログラミングはエラーとの戦い、ということは分かっているもののやっぱりエラーがない方がストレスはすくないです。
上記のようなミスを少しでも減らし、どんどんコードを書いていければと思います。
学習は全てウェブカツ!!というプログラミングスクールで学んでいます。
大手スクール生徒や現役エンジニアが多数学び直している「実務レベル」に特化した「稼ぐ」ためのプログラミングスクール[…]