PHPではまったこと

‘と”

‘(シングルクオーテーション)と”(ダブルクオーテーション)の違い

どちらも文字列を表現するときに使うけど、

’(シングル)は文字列をそのまま出力する。エスケープ文字なんかもそのまま出力される。

”(ダブル)は変数名が中に入っていると中身を変える。

“(ダブル)の方も変数そのまま入れられるから楽だけど

BOM付き、BOM無し

ファイルを保存するときUTF-8を使っているとBOM付きとBOM無しというのがある。BOMありは見えない文字が勝手に入るらしい。

JSONに変換するときにこのBOM文字が悪さをしてできなかった。何回もJSON文字列が間違っているのか確認したり、’で括ってないから? 書き方が悪い? とか色々考えの迷宮に入った。2時間くらい居た。

BOM無しにすれば難なくいけた。

データベース操作に使うPDO

$db = new PDO(サーバー、ユーザー、パス);

で使えるPDO。データベースに送ったクエリが実行されたかを見るときは、

$stmt = $db->prepare(クエリ);

$boolean = $stmt->execute();

で$booleanに成功すればtrue,失敗すればfalseが入る。

エラーメッセージは

$stmt->errorInfo()で見れる

エラー情報は文字列の配列で返される。var_dump($stmt->errorInfo())で見ればいいはず。

execute()に入れるクエリは1つの処理ごとじゃないとだめっぽい?

SELECT * FROM テーブル名;

INSERT INTO テーブル名 (列名) VALUE(データ);

とかしてみたけど、セレクトしか実行されていない気がする

色々、変なところで分からなくなったりしたので一応MEMOしておきます。

悪いところが分からないからしんどい……。