mazeltov7のweb断片

備忘録的なテキトーなことを書きます。(技術記事はQiitaに移行しました http://qiita.com/mazeltov7 )

ドットインストールPHP入門(応用編)を見た

応用編を見てみた。
以下、メモ。

データベースへの接続

try {  #tryやって、ダメなら、catchやれ
  $dbh = new PDO('mysql:host=localhost;dbname=blog_app', 'dbuser', 'dbpass');
} catch(PDOException $e) {
  var_dump($e->getMessage());
  exit;
}

echo "success";

$sql = "select * from users";
$stmt = $dbh->query($sql); #処理実行
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $user) { #取ってきて、表示
  var_dump($user['name']);
}

echo $dbh->query("select count(*) from users")->fetchColumn() . "records found!";


$dbh = null; #切断


データ挿入

$stmt = $dbh->prepare("insert into users(name, email, password) values(?, ?, ?)");
$stmt->execute(array("n", "e", "p"));

#上記と同じ意味
$stmt = $dbh->prepare("insert into users(name, email, password) values(:name, :email, :password)");
$stmt->execute(array(":name"=>"n",":email"=>"e",":password"=>"p"));

データの更新
$stmt = $dbh->prepare("update users set email = :email where name like :name");
$stmt->execute(array(":email"=>"dummy", ":name"=> "dumm"));

cockieの設定

setcookie('userName', 'hoge');
echo $_COOKIE['userName'];

セッション

session_start();
$_SESSION['userName'] = "hoge";
echo $_SESSION['userName'];
unset($_SESSION['userName']);

クラス
class User {
  public $name;
  public $email;

  public function __construct($name, $email) {
    $this->name = $name;
    $this->email=$email;
  }

  public function sayHi() {
    echo "hi my name is " .$this->name;
  }
}

$tom = new User("tom", "hghoghe@gmail.com");

echo $tom->name;
echo $tom->sayHi()

クラスの継承

class SuperClass extends User {
  public function supersayHi(){
    echo "hihiiihihih my name is " .$this->name;
  }
}
$bob = new SuperClass("bob", "hog@gmail.com");
$bob->supersayHi();

require(); #エラーで強制停止
include; #エラーでも警告


fmfm、、
はてな記法で、php指定してるんだけど、
ハイライトが微妙なのはなんでだろうか…