###前提・実現したいこと
CentOS ver 7.2 (7.2.1511)
PHP ver 5.4.16
mariaDB ver 5.5.50
上記環境でデータベースのテーブルが以下の設定になっている場合、
field type
uid int(11)
cid tinyint(3) unsigned
flag varbinary(16384)
PHP+PDOクラスで「flag」を文字列ではなくバイナリデータとして
アクセスするのはどうすればいいでしょうか?
以下アクセスPHPのソースを記述しました。
下記の「PARAM_STR」使用しているところです。
<?PHP
$dsn = 'mysql:dbname=database;host=localhost;charset=utf8';
try{
$pdo = new PDO($dsn,'user','pass',
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFALUT_FETCH_MODE => PDO::FETCH_ASSOC,
]);
$uid = $_POST['uid'];
$cid = $_POST['cid'];
$flag = $_POST['flag']; //※バイナリデータをここで受け取りたい
//受け取れない場合json化
$sql = 'insert into'.'flag_tbl'.'(uid,cid,flag) value (:uid,:cid,:flag);
$stmt = $pdo->prepare($sql);
$pdo->beginTransaction();
try{
$stmt->bindValue('uid',$uid, PDO:PARAM_INT);
$stmt->bindValue('cid',$cid, PDO:PARAM_INT);
$stmt->bindValue('flag',$flag, PDO::PARAM_STR); //ここを文字列ではない状態にしたい
$executed = $stmt->execute();
$pdo->commit();
}catch (execption $ee){
$pdo->rollBack();
throw $ee;
}
}catch(PDOEXception $e{
header('Content-Type: text/plain; charset=UTF-8',true,500);
exit($e->getMessage());
}
?>
###発生している問題・エラーメッセージ
###該当のソースコード
ここにご自身が実行したソースコードを書いてください
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報