Suipedia

ツイッター始めてみました 掲示板はこちら

phpによるデータベースへのアクセスまとめ

■単一データを取得する場合

 データを1つ(テーブル上の1レコード)だけ取得する方法。
 基本的には単一だろうが複数だろうが同じ。『FETCH~』の部分が異なるので要注意。

 『$dbh』というDBconnect変数については既に用意されている体で話を進める。
 これを用意する方法についてはこちらを参照。


<?php
	$sql = "SELECT * FROM hogetable WHERE id = :id"; 
	$stmt = $dbh->prepare($sql);
	$stmt->bindParam(':id', $id, PDO::PARAM_INT);
	$stmt->execute();
	
	$result = $stmt->fetch(PDO::FETCH_ASSOC);
	
	print $result[name];
	print $result[address];
	print $result[sex];
?>
		

■複数データを取得する場合

 複数データの場合、以下のように基本的にループで回す。


<?php
	$sql = "SELECT * FROM hogetable WHERE category = :category"; 
	$stmt = $dbh->prepare($sql);
	$stmt->bindParam(':category', '値', PDO::PARAM_STR);
	$stmt->execute();
	$result = $stmt->fetchAll();
	$array = $result;
	/* データ内容を表示 */
   	foreach($array as $row){
		print '<h4><a href="'.$row[url].'">'.$row[title].'</a></h4>';
	}
?>
		

■Insert句

 基本的には検索時と同様。トランザクションの制御とそれに伴うtrycatchが特徴。


	try{
		$dbh->beginTransaction();

		/* 登録 */
		$sql="INSERT INTO $table(category) VALUES (:category)";

		$stmt = $dbh->prepare($sql);
		$stmt->bindParam(':category', $category, PDO::PARAM_STR);$stmt->execute();

		$dbh->commit();
	} catch (Exception $e) {
		$dbh->rollBack();
		echo "失敗しました。" . $e->getMessage();
	}
		

■Update句

 面倒くさいから割愛


		
		

■Delete句

 面倒くさいから割愛


		
コメント(投稿内容は承認後に表示されます)
お名前
コメント

コメント

↑ PAGE TOP