Pear MDB2 デ-タベ-ス操作

Pear MDB2 デ-タベ-ス操作 PHPファイル mysqli 用
mdb2_input.php


これは、XAMPP 5.6.19 版以降用の Pear MDB2 デ-タベ-ス操作 PHP ファイルです。 PEAR::MDB2_Driver_mysql がインスト-ルできず、 PEAR::MDB2_Driver_mysqli をインスト-ルしたときに使用します。


63 Pear Villageに戻る

<?php
header(
'Content-type:text/html;charset=utf-8'
);
// この宣言がないと日本語表示が文字化け
require_once 'MDB2.php';

$_POST["uname"]
 = '山田太郎';
$_POST["email"]
 = 'abcdef@yahoo.co.jp';
$_POST["postnum"]
 = '2160001';
$_POST["addre"]
 = '神奈川県川崎市宮前区';
$_POST["come"]
 = 'はじめまして';
/*
 上記デ-タはすでに form で、
 htmlspecialchars 関数を適用され
「HTMLの特殊文字」をエスケープしている
 ものとします。
 このあと、prepare メソッドを実行し、
「SQLの特殊文字」をエスケープします。
*/ 
// データベース info 情報の設定
// $sqltype = 'mysql';
$sqltype = 'mysqli';
$user = 'root';
$server = 'localhost';
$password = '';
// 接続するデータベース名
$dbname = 'phplibs';
/*
レンタルサ-バを使用するときは
$user = '***';
$server = '***';
$password = '***';
$dbname = '****_phplibs';
の値は適宜変更してください。
*/
$data = array
 ($_POST["uname"], $_POST["email"],
  $_POST["postnum"], $_POST["addre"],
  $_POST["come"]);
// プレ-スフォルダデ-タの
// タイプ配列設定
$types = array
 ('text', 'text', 'integer',
  'text', 'text');

// データベースに接続
$mdb2 = MDB2::connect
 ($sqltype
 .'://'.$user
 .':'.$password
 .'@'.$server.'/'
 .$dbname
 .'?charset=utf8');
// 接続チェック
if(MDB2::isError($mdb2))
  die("接続に失敗しました");

// SQL文作成
$sql = "INSERT INTO info
 (uname, email, postnum, addre, come)
  VALUES(?, ?, ?, ?, ?)";
/*
 テ-ブル名 info のカラム
 uname,email,postnum,addre,come
 に、
 $_POST["uname"], $_POST["email"],
 $_POST["postnum"], $_POST["addre"],
 $_POST["come"]
 を挿入予定
*/
// prepare メソッド実行   
/*
$sth = $mdb2->prepare
 ($sql, $types, MDB2_PREPARE_MANIP);
*/
$sth = $mdb2->prepare($sql, $types); 
if (MDB2::isError($sth)) die
 ("prepare エラ-: "
 . $sth->getMessage());

$result = $sth->execute($data);

// $result = $mdb2->exec($sql);
// execメソッドを実施し、
// SQL文$sqlを実行します。
if (MDB2::isError($result)){
// エラーメッセージ出力
  echo 
   "データを挿入できませんでした
    <br>エラー:"
   .$result->getMessage();
}else{
  echo
   "Info 情報簿に<br>"
   .$_POST['uname'].
   "&nbsp;さん<br>
    のデータを挿入しました";
}
// データベース接続の解除
$mdb2->disconnect();
// info登録END
?>