PHPでのMySQLの扱い (超基本)

前置き

スーパー基本すぎて、現場だと、
他の方法にしろって声がでるかもしれません.....

DBとの接続

if(!$db=@mysql_connect(DB_HOST_S,DB_USERNAME,DB_PASSWORD)){		
  print mysql_error() . "\n";
  exit;
}

USE データベース

if(!mysql_select_db(DB_NAME,$db)){
  print mysql_error() . "\n";
  exit;
}

SELECT文

$SQLs["select"]  = "SELECT `foo`
                            FROM `hoge`
                           WHERE `bar` = '%s'
                             AND `piyo`     = '%s'
                         ";

$sql    = sprintf( $SQLs["select"], $bar, $piyo);
$result = mysql_query($sql, $db);
if( !$result ){ print mysql_error($db); }

INSERT文

$SQLs["insert"]  = "INSERT INTO `hoge`
                                (`bar` , `piyo`)
                                VALUES
                                ('%s'         , '%s')";

// 同様に sprintfで $sqlを作って
// mysql_query( $sql, $db )

queryからのエラー別処理

mysql_errno($db)

ってやればエラーNoがとれるのでそれでif文で頑張る。

UPDATE文

$SQLs["update"]   = "UPDATE
                                    `foo`
                                 SET
                                   `bar` = `bar`+ %s,
                                   `piyo`   = `piyo`  + %s,
                                 WHERE
                                   `hoge` = '%s'
                                 AND
                                   `popopo`     = '%s'";

// 同様に sprintfで $sqlを作って
// mysql_query( $sql, $db )

何ヶ月前の日付をとる(基準は今月の1日とした場合)

function get_date( $seed_date, $month ){
  global $db;

  $sql = sprintf(
           "SELECT DATE_ADD('%s', INTERVAL %s MONTH) AS `DATE`",
           $seed_date,
           $month
         );

  $result = mysql_query($sql, $db);
  $d      = mysql_fetch_assoc($result);
  $d      = $d["DATE"];

  return $d;
}

$year  = date("Y");
$month = date("m");
$day   = '01';

$now = join("-", array($year, $month, $day));
$pre_month = get_date( $now, -1 );