【CodeLife】PHPのqueryとprepareの違い。PHP総まとめ【8日目】

codelife

8日かけてようやくPHPの学習が終わった。PHPの学習にはたにぐちまことさんのPHP+MySQL入門を使って、わかりやすかったし料金も良心的でとても満足している

とはいえプログラミングは一回やった程度では身につかないし、最終的には自分で何かを作らないと意味がないから、近日中にPHPをつかったサービスを作って見る予定。

今回はこれまで学んできた中で、あれ?これなんだっけみたいなものを他の誰でもない自分のためにまとめていこうと思う。

目次

queryとprepareの違い

まず最初はこの2つだ。

PHPでデータベースに接続してあれこれするときに必ず出てくるqueryとprepareなんだけど何が違くてどう使い分けるのかをまとめる。

query

queryはユーザーからの入力情報などの変数がない場合に使う。

<?php
 $counts = $db->query('SELECT COUNT(*) AS cnt FROM posts');
?>

例えばこれはpostsの引数(何個入ってるか)を調べる構文なんだけど、この場合もともとあるデータベースの値を引っ張ってきてるだけだから、queryを使う

prepare

逆にprepareは変数があるときに使われる。

<?php
  $message = $db->prepare('INSERT INTO posts SET member_id=?,  message=?, reply_message_id=?, created=NOW()');
 ?>

$dbはデータベースを指していて、postsの中のmemberフィールドやmessageフィールドにユーザーからの入力情報を入れる式だ。

?は何が入るかわからない変数だから、この場合prepareを入れる。

ちなみにprepareはセキュリティ的にも使ってるっぽい。

fetchの意味

度々出てきて気になってたfetchの意味は受け取るみたいな感じだと思う。

PDO→query→fetchが黄金パターンっぽい。

プレミア12の甲斐野→山本→山崎みいたいな。しらんけど(関東人)

executeの意味

これはprepareで用意したSQL文を実行するメゾットらしい。「実行」と覚えておこう。

今日の進捗

  • PHP入門4本(完)

今日は色んな所に引っかかり(全部タイプミス)なかなか進まなかった。ただ、8日でPHPを一応終われたからまあ良いんじゃないかと思う。

明日の予定

明日からは、jQueryに入ろうと思う。昨日も全く同じことを書いたけど、今度は絶対に初める。jQueryはなるべく早く終わらせて、早くPHPのサービスづくりに取り掛かりたい。

よかったらシェアしてね!

コメント

コメントする

CAPTCHA


目次
閉じる