プログラミング本気1週間 3日目
前回の記事
本日の成果
- 最初に前回の続きである掲示板の作成を下の記事を参考にしながらデータベースと連携させて挑戦した。
- 上記の記事と似た物を作り上げたのだが…動かず。
- 一度やっていた掲示板のエラー内容を解決すべくデータベースなしで掲示板を作成してみる
- なんとかデータベースなしの掲示板は動くようになったところ
今日の感想
はっきり言って辛くなってきた。
何度も泣きたくなった。原因として一番大きいのは、エラーと自分の知らなさがゆえ。
テックアカデミー時代にどれだけコピペしたものをちょっと塗り替えてきてうまくやっていたかが明確にわかってしまいきつかった。
だが、しっかりと10時から夜の10時まで成し遂げる事ができたので今日の自分を褒めたいw
明日も頑張ろう!
と言いつつ、次はブログ記事を書く作業に映ろうと思う。よければ本ブログの方も見ていただけると幸いである。
未だ解明できなかった謎(自分用)
preg_split関数
簡単にいうと、文字列を配列として返してくれる能力の持ち主らしい…
こちらの記事を参考にしたものの、ちょっと何を言っているのかが分からなかった。
どうも連想配列など、配列系が苦手だということはわかってきた。
【PHP入門】split関数を使わないでpreg_splitやexplode関数を使おう! | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト
fopen系統のやつら
これを参考にしたけどよく分からなかった
おそらくこの系統のやつらは、他のファイルを読み込んでなんか書いてくれたりとかするもんだと思うのだが…。
掲示板を作る際に初めの方で使用した。
別のファイルに文字列を送る時に使用。
今日分かった事(自分用)
配列かした時は最初nullよりもarray()
これは本当に初心者だからこそなのかもしれないが、配列にした方がどう考えてもいいものも、僕はこれまで最初に =null; という風にやってしまっていた。
ここを配列形式にしておいた方がよいという事が判明。
今まで知らなくてごめんなさいという感じです。
array_unshiftについて
配列の先頭に要素を追加できる能力の持ち主
下の記事を参考にすれば一瞬
掲示板のコメントを格納する時に使用
AWScloud9でphpMyadminをインストールする方法
phpMyadminでSQL文を書く時に最後に入れるあれの意味
ENGINE=InnoDB DEFAULT CHARSET=utf8;
というのがSQL文の最後によく出てくるが、これは文字化けしないための文と考えていいだろう。
UNIQUE制約について
UNIQUE制約というのは、まだしっかりとは分かっていないが、指定したカラムの値のコンビネーションが一意になるように制限してくれるらしい
コンビネーションが一意になるというのは、意味や値が一つに確定するという事で、
unique制約を作成したカラムが特別なカラムになるようなものらしい。
これをやる意味はテーブル内で重複するデータを禁止するため。
他にも制約が沢山あるので以下の記事を参照
追記:外部キー制約はめちゃ使う
外部キー制約はテーブルで指定したカラムに格納できる値が他のカラムに格納されている値だけにしたい時に設定する
「リレーションを確認して」と言われたら…
リレーションは関係性を表すものなので、外部キー制約とかで関係を持ったテーブル同士を確認する事である。
MySQLでのvarcharとtextの違い
こちらの記事を見ればわかる
firefoxショートカットキー
//新しいタブ
command.t
//タブを閉じる
commnad.w
MySQLよく使うコード
//開始
$ sudo service mysqld status
//データベース作成
$CREATE DATABASE データベース名;
//データベース一覧
mysql> show databases;
//データベース消す
mysql> DROP DATABASE bookstore;
//テーブルをみる
mysql> show tables;
//テーブルのなかみ
mysql>describe テーブル名;
//テーブルのなかみ削除
mysql> DELETE FROM bookstore.books;
MySQLで日本語が打ち込めない問題解決
以下の記事が参考になったが
MySQLを起動させるたびにこれをしなければならないと思うと、ひどく疲れる予感がした。
PHPのデバッグのすすめ
たくさんデバッグがある中で一番いいと思ったのはやっぱりvar_dump()です。
ただvar_dump()と打つのではなくて
<pre>
<p><?php var_dump($records) ?></p>
<pre>
てな感じで、<pre>で囲むと見やすくなる。
基本的なPHPとMySQLをつなげる時のSQLの出し方
$query =
"SELECT$query = "SELECT
テーブルからむ名,
テーブルからむ名,
テーブルからむ名
FROM テーブル名";
queryメソッドについて
上記の出したSQLを格納している変数(上記でいう$query)からqueryに渡す
例
$result = $mysqli->query($query);
・ここでいう$mysqliというのはデータベースが入っているやつ(2日目にやったMySQL連携の時にデータベースの中身を入れたやつ)
mysqli_num_rowdについて
こいつが囲んだ変数にどれくらいの行が入っているかを確かめることができる
if構文なんかの中に入れて、イコール0だった場合、exitとかで強制シャットダウンする時などに使われる。
連想配列にデータを格納する
<?php echo のショートタグ<?=
これには驚き
基本的には最初の変数はnullにしておいたほうが良さそうな予感がする件について
おそらく変なエラーを出さないためには、最初に変数に空白で定義しておくべき