参考処理
Person.php
<?php
require_once( dirname( __FILE__ , 2) . '/Mysql_root/MySQL_Data.php' );
class Person{
public $sqlDB;
public $dbname="XXXXX";//作成したデータベースの名前
public $db;
public function __construct(){
$this->sqlDB=new MySQL_Data();
}
public function Insert_Member(){
try {
$TableName = 'person';
$colum1 = 'person_id';//オートインクリメント
$colum2 = 'name';
$colum3 = 'name_kana';
$colum4 = 'memo';
$colum6 = 'deleted_flg';
$colum_cmp1 = 'address';//company のテーブル
$colum_cmp2 = 'postal_code';//company のテーブル
//-------------------------------//
$valueList=[
//$colum1 = 'user_id';//オートインクリメント
$colum2 => '',
$colum3 => '',
$colum4 => '',
//$colum5 => '',
];
foreach ($_POST as $key => $value) {
if ( isset($_POST[$key]) ) {
$valueList[$key]= $_POST[$key];
}
}
//-----------------------------//
$sql = 'INSERT INTO '.$TableName.' ( '.$colum2.','.$colum3.','.$colum4.') values (?, ?, ?)';//$colum11.','.$colum12.','.$colum13.','.$colum14.','.$colum15.','.$colum16.',) values (?, ?, ?, ?, ?,?,?,?,?, ?, ?, ?, ?,?)';
//$img_data = file_get_contents($_FILES['photo']['tmp_name']);
$count=$statement = $this->db->prepare($sql);
$statement->bindParam(1, $valueList[$colum2], PDO::PARAM_STR);
$statement->bindParam(2, $valueList[$colum3], PDO::PARAM_STR);
$statement->bindParam(3, $valueList[$colum4], PDO::PARAM_STR);
//$statement->bindParam(4, $icon_url_id, PDO::PARAM_INT); // intへのキャストはしない
$res = $statement->execute();
// 登録したデータのIDを取得して出力
$id = $this->db->lastInsertId();
var_dump($id);
echo intval($id);
return intval($id);
// var_dump($statement->lastInsertId());
// return $statement->lastInsertId();
}catch (PDOException $e) {
echo 'DB接続エラー: ' . $e->getMessage();
return null;
}
}
}
MySQL_Data.php
<?php
class MySQL_Data{
public $IPaddress;
public $User_Name;
public $PassWord;
public $dbname;//作成したデータベースの名前
public $db;
public function __construct(){
$this->dbname = 'XXXXX';
$this->IPaddress='XXXXX';
$this->User_Name='XXXX';
$this->PassWord='XXXX';
// echo 'SQLへ接続';
try {
$this->db = new PDO("mysql:host={$this->IPaddress};dbname={$this->dbname}",$this->User_Name,$this->PassWord);
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// echo"接続成功";
} catch (PDOException $e) {
echo 'DB接続エラー: ' . $e->getMessage();
echo '現在のIPアドレスの設定 : '.$this->IPaddress;
echo '現在のユーザー名 : '.$this->User_Name;
echo '現在のパスワード : '.$this->PassWord;
echo '現在のデータベース名 : '.$this->dbname;
}
}
}