postgresqlに接続し、配列で取得するPHP

sqlを渡して配列で返す

function dbconnect($sqltext) {
    $arySqlData = array();
    $sql = mb_convert_encoding($sqltext, "SJIS", "UTF-8"); // SQL文
// データベースに接続する
    $conn_string = "host=サーバーIP port=ポート番号 dbname=データベース名 user=ユーザー名 password=パスワード";
    $db = pg_connect($conn_string);
    $rs = pg_query($sql);
    if (!$rs) {
        pg_close($db);
        return die('postgres error: ' . mb_convert_encoding(pg_result_error(), "SJIS", "UTF-8"));
    }
            $num = pg_num_fields($rs);
//--- 配列へ格納 -----------------------
    for ($a = 0; $a < $num; $a++) {
        $arySqlHeader[$a] = mb_convert_encoding(pg_field_name($rs, $a), "SJIS", "UTF-8");
    }
    $b = 0;
    while ($row = pg_fetch_array($rs)) {
        for ($c = 0; $c < $num; $c++) {
            $arySqlData[$b][$arySqlHeader[$c]] = mb_convert_encoding($row[$c], "SJIS", "UTF-8");
        }
        $b = $b + 1;
    }
    pg_free_result($rs);
    pg_close($db);
    return $arySqlData;
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です