JSON
JSONでDBからJavaScriptに配列渡し。
$sql = $pdo -> prepare("SELECT * FROM userTable WHERE user = :user;");
$sql -> bindParam(':user', $user, PDO::PARAM_STR);
$sql -> execute();
while($row = $sql -> fetch(PDO::FETCH_ASSOC)){
// DBからuserデータを配列化
$user[]= $row["user"];
}
// JavaScriptで配列に。[]は付けない。
var user = JSON.parse('<?php echo json_encode($user); ?>');
PDOでトランザクション。
そのままコピペ用。
// PDO接続
function pdoSESSION(){
$option = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
// デフォルトのエラー発生時の処理方法を指定
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
// SELECT 等でデータを取得する際の型を指定
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
// SELECT した行数を取得する関数 rowCount() が使える
PDO::ATTR_EMULATE_PREPARES => false,
// MySQLネイティブのプリペアドステートメント機能の代わりに
// エミュしたものを使う設定
PDO::ATTR_STRINGIFY_FETCHES => false
// 取得時した内容を文字列型に変換するかのオプション,int型も文字列扱い
);
$dsn = 'mysql:host='.DB_HOST.'; dbname='.DB_NAME.'; charset=utf8';
try {
return $pdo = new PDO($dsn, DB_USER, DB_PASS, $option);
// echo'DBに接続しました';
} catch (PDOException $e){
echo $e->getMessage();
print("err");
}
}
class testClass
{
function __constract()
{
//コンストラクタ
}
public function test($hoge)
{
if($hoge==""){
return NULL;
}
// PDO接続
$pdo = pdoSESSION();
try {
$pdo->beginTransaction();
$sql= 'SQL文';
$res = $pdo -> prepare($sql);
$res -> execute();
$pdo->commit();
} catch (Exception $e) {
$pdo->rollBack();
echo "接続に失敗しました。" . $e->getMessage();
}
}
}