PHP MySQL Access Class

php

まじめにコピペしてみた・・・
●クラス

<?php
class connect {
  //定数の宣言
  const DB_NAME='cake_db';
  const HOST='localhost';
  const UTF='utf8';
  const USER='root';
  const PASS='';
  
  //データベースに接続する関数
  function pdo(){
    $user=self::USER;
    $pass=self::PASS;
    try{
      $pdo=new PDO($dsn,$user,$pass,array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES '.SELF::UTF));
    }catch(Exception $e){
      echo 'error' .$e->getMesseage;
      die();
    }
    //エラーを表示してくれる。
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
    return $pdo;
  }
  //SELECT文のときに使用する関数。
  function select($sql){
    $hoge=$this->pdo();
    $stmt=$hoge->query($sql);
    $items=$stmt->fetchAll(PDO::FETCH_ASSOC);
    return $items;
  }
  //SELECT,INSERT,UPDATE,DELETE文の時に使用する関数。
  function plural($sql,$item){
    $hoge=$this->pdo();
    $stmt=$hoge->prepare($sql);
    $stmt->execute(array(':id'=>$item));//sql文のVALUES等の値が?の場合は$itemでもいい。
    return $stmt;
  }
}
?>

●応用

<?php
/**
 * modify Date: 19/03/22 <--- 14/06/22
 */
    require_once 'mysqlPHPclass.php';

    $obj=new connect();

    $query = "SELECT * from posts LEFT JOIN kinds ON posts.kind = kinds.kind_num order by id desc;";
    $stmt  = $obj->select($query);

    echo '<table border="1" bordercolor="gray" cellpadding="2" cellspacing="0" >';
    
    foreach( $stmt as $items)
    {
        if( $items['picname'] !="" )
        {
            $pname = "有";
        }
        else
        {
            $pname = "";
        }
        echo '<tr>';
        echo '<td>'.$items['id'].'</td>'.'<td>'.$items['kind_string'].'</td><td>'.$pname.'</td>'.
            '<td>'.$items['title'].'</td>'.'<td>'.nl2br($items['body']).'</td>';
    }

?>
No tags for this post.
タイトルとURLをコピーしました