気軽にブログを楽しむ

大学生の日常

プログラミング本気1週間 3日目

前回の記事

 

www.captentheater.com

 

本日の成果

 

  • 最初に前回の続きである掲示板の作成を下の記事を参考にしながらデータベースと連携させて挑戦した。

manablog.org

 

  • 上記の記事と似た物を作り上げたのだが…動かず。
  • 一度やっていた掲示板のエラー内容を解決すべくデータベースなしで掲示板を作成してみる
  • なんとかデータベースなしの掲示板は動くようになったところ

 

今日の感想

 

 

はっきり言って辛くなってきた。

 

何度も泣きたくなった。原因として一番大きいのは、エラーと自分の知らなさがゆえ。

 

テックアカデミー時代にどれだけコピペしたものをちょっと塗り替えてきてうまくやっていたかが明確にわかってしまいきつかった。

 

だが、しっかりと10時から夜の10時まで成し遂げる事ができたので今日の自分を褒めたいw

 

明日も頑張ろう!

 

と言いつつ、次はブログ記事を書く作業に映ろうと思う。よければ本ブログの方も見ていただけると幸いである。

 

kaiseiblog.me

 

未だ解明できなかった謎(自分用)

 

 

preg_split関数

簡単にいうと、文字列を配列として返してくれる能力の持ち主らしい…

 

 

こちらの記事を参考にしたものの、ちょっと何を言っているのかが分からなかった。

 

どうも連想配列など、配列系が苦手だということはわかってきた。

 

【PHP入門】split関数を使わないでpreg_splitやexplode関数を使おう! | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト

 

 

fopen系統のやつら

 

【PHP関数】fgetsによるファイル操作 - Qiita

 

これを参考にしたけどよく分からなかった

 

おそらくこの系統のやつらは、他のファイルを読み込んでなんか書いてくれたりとかするもんだと思うのだが…。

 

掲示板を作る際に初めの方で使用した。

 

別のファイルに文字列を送る時に使用。

 

 

 

 

 

 

今日分かった事(自分用)

 

配列かした時は最初nullよりもarray()

 

これは本当に初心者だからこそなのかもしれないが、配列にした方がどう考えてもいいものも、僕はこれまで最初に =null; という風にやってしまっていた。

 

ここを配列形式にしておいた方がよいという事が判明。

 

今まで知らなくてごめんなさいという感じです。

 

 

array_unshiftについて

 

配列の先頭に要素を追加できる能力の持ち主

 

下の記事を参考にすれば一瞬

techacademy.jp

 

掲示板のコメントを格納する時に使用

 

 

 

AWScloud9でphpMyadminをインストールする方法

qiita.com

 

 

phpMyadminでSQL文を書く時に最後に入れるあれの意味

 

ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

というのがSQL文の最後によく出てくるが、これは文字化けしないための文と考えていいだろう。

UNIQUE制約について

 

UNIQUE制約というのは、まだしっかりとは分かっていないが、指定したカラムの値のコンビネーションが一意になるように制限してくれるらしい

 

コンビネーションが一意になるというのは、意味や値が一つに確定するという事で、

unique制約を作成したカラムが特別なカラムになるようなものらしい。

 

これをやる意味はテーブル内で重複するデータを禁止するため。

 

他にも制約が沢山あるので以下の記事を参照

カラムにかける制約について整理 - Qiita

 

追記:外部キー制約はめちゃ使う

外部キー制約はテーブルで指定したカラムに格納できる値が他のカラムに格納されている値だけにしたい時に設定する

 

「リレーションを確認して」と言われたら…

 

リレーションは関係性を表すものなので、外部キー制約とかで関係を持ったテーブル同士を確認する事である。

 

 

MySQLでのvarcharとtextの違い

 

こちらの記事を見ればわかる

lxyuma.hatenablog.com

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で日本語が打ち込めない問題解決

 

以下の記事が参考になったが

qiita.com

 

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にしておいたほうが良さそうな予感がする件について

 

おそらく変なエラーを出さないためには、最初に変数に空白で定義しておくべき