<?php
// データ定義
$data = array(
array(
'入力項目1',
'チェックボックス1',
'選択1',
'あいうえお',
),
array(
'入力項目2',
'チェックボックス2',
'選択2',
'アイウエオ',
),
);
// 例外処理ブロック
try {
// DB接続
if (!($link = @mysql_connect('localhost', 'ABCD', 'EFGH'))) {
throw new RuntimeException('DB接続に失敗しました。');
}
// 文字セット指定
mysql_set_charset('utf8', $link);
// DB選択
if (!@mysql_select_db('test_db', $link)) {
throw new RuntimeException('DB選択に失敗しました。');
}
// SQL文フォーマット
$format = 'INSERT ' .
'INTO `product_b` (`text`, `checkbox`, `setntaku`, `textarea`) ' .
'VALUES (%s, %s, %s, %s)'
;
foreach ($data as $d) {
// 値をエスケープ
$d = array_map(
function ($i) use ($link) {
return mysql_real_escape_string($i, $link);
},
$d
);
// 値をバインドしてSQL実行
if (!mysql_query(vprintf($format, $d), $link)) {
throw new RuntimeException('データ挿入に失敗しました。');
}
}
// 正常時
$message = 'エラーはありません。';
} catch (RuntimeException $e) {
// 例外が発生したとき
$message = htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8');
}
// ブラウザにcharsetを伝える
header('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<p><?=$message?></p>
</body>
</html>
preferences:
39.94 ms | 402 KiB | 5 Q