PHP jqGrid用JSON応答用コード

いちばん簡潔に書くと、以下のようになります。

[ コード例 ]


<?php  

try {
  
  // 接続定義 //
  $connect_db = "mysql:dbname=databasename;host=localhost;charset=utf8";
  $connect_user = '?????';
  $connect_passwd = '??????';

  //データベース接続
  $dbm = new PDO($connect_db, $connect_user, $connect_passwd);
  // 検索 //
  $stmt = $dbm->query($SQL);
  
  // JSONクラスのインスタンス化 //
  $responce = new stdClass();

  $i = 0;
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    foreach ($row as $fld => $val) {
       //echo $val."\n";
      $responce->rows[$i][$fld] = mb_convert_encoding($val, "UTF-8", "auto");
    }
    $i++;
  }

  // JSONに変換して出力 //
  echo json_encode($responce, JSON_PRETTY_PRINT);
  
} catch (Exception $ex) {
  var_dump($ex->getMessage());
}

// 切断 //
$dbm = null;

?>

PHP PDO トランザクション

備忘録しておきます。
接続文字列の chrset がないと文字化けすることがあります。


<?php

// 接続文字列 //
$CONN = "mysql:dbname=dbname;host=localhost;charset=utf8";

// 接続 //
$dbm = new PDO($CONN, "dbname", "?????????");
echo "MySQL Connected\n";


// MySQLランザクション開始 //
$dbm->beginTransaction();

/* ここに更新処理を入れる */

// MySQLコミット //
$dbm->commit();

// 切断 //
$dbm = null;


?>