Sponsored Link
[PHP, MySQL]phpでのMySQL操作
MySQLに接続する
function connect() {
$dsn = 'mysql:dbname=DB_NAME;host=HOST_NAME;charset=utf8';
$user = 'USER_NAME';
$pw = 'PASS';
$driver_options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false,
);
try {
// データベースに接続
$pdo = new PDO(
$dsn,
$user,
$pw,
$driver_options
);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
return $pdo;
} catch(PDOException $e) {
return $error = $e->getMessage();
}
}
- 2行目dbnameはデータベース名、hostはホスト名(サーバ)※ローカル環境であれば、localhost
- 3行目userはユーザ名※デフォルトであれば、root
- 4行目pwはパスワード
指定のテーブルの中身を全て抽出する
function get_all_table() {
try {
$pdo = connect();
$sql = 'SELECT * FROM `テーブル名` ORDER BY `テーブル名`.`フィールド名` asc';
$stml = $pdo->prepare($sql);
$stml->execute(array());
$stml = $stml->fetchAll();
} catch(PDOException $CMS_PDO_SQL_ERR) {
$CMS_PDO_SQL_ERR->getMessage();
}
return $stml;
}
指定のテーブルの中身を絞り込んで抽出する
function get_select_table() {
try {
$pdo = connect();
$sql = 'SELECT * FROM `テーブル名` WHERE `フィールド名`=:field_name';
$stml = $pdo->prepare($sql);
$stml->execute(array(':field_name'=>'取得値'));
$stml = $stml->fetch();
return $stml;
} catch(PDOException $CMS_PDO_SQL_ERR) {
$CMS_PDO_SQL_ERR->getMessage();
}
}
- 一つのデータのみを取得する場合は、$SQLを
SELECT * FROM
テーブル名WHERE
フィールド名=? LIMIT 1
としてもいい。 - LIMITは抽出数を指定するSQL文。
書式は LIMIT [開始位置,]取得数
開始位置の記載は任意で、デフォ値は0
LIMIT 3 としたなら、抽出したレコードの中で、上から3つを取得する。
LIMIT 1,3としたなら、抽出したレコードの中で、上から2つ目から3つを取得する。
カンマ区切りで、LIMIT 取得開始位置,取得数 となる。
※取得開始位置は、0始まりの為注意。
指定のテーブルの中身を削除する
function delete_table() {
try {
$pdo = connect();
$sql = 'DELETE FROM `テーブル名` WHERE `フィールド名`=:field_name';
$stml = $pdo->prepare($sql);
$stml->execute(array(':field_name'=>'削除する値'));
} catch(PDOException $CMS_PDO_SQL_ERR) {
$CMS_PDO_SQL_ERR->getMessage();
}
}
指定のテーブルの中身を変更(更新)する
function update_table() {
try {
$pdo = connect();
$sql = 'UPDATE `テーブル名` SET `フィールド名`=:change_name WHERE `フィールド名`=:field_name';
$stml = $pdo->prepare($sql);
$stml->execute(array(':change_name'=>'変更後の値','field_name'=>'フィールド名の値'));
} catch(PDOException $CMS_PDO_SQL_ERR) {
$CMS_PDO_SQL_ERR->getMessage();
}
}