重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

現在php+PostgreSQLでのアプリケーション制作を勉強中です。
で、参考書にあるMysql用に書かれたプログラムを参考に、PostgreSQL用に書き換える、といった勉強方法をとっているのですが、どうしても直せない箇所があるので、どなたお力添えいただけませんでしょうか?

Mysql用サンプル
<?php
// ===========================================
// 設定
// ===========================================
// サーバ/データベース/ユーザ/パスワード
$sv = "localhost";
$dbname = "xx";
$user = "xxxx";
$pass = "xxxx";

// 表示文字コード
define("ENCDISP", "EUC-JP");

// ===========================================
//  パラメータの取得
// ===========================================
$act = (isset($_REQUEST["act"])) ? $_REQUEST["act"] : "";

// =================================================
//  処理開始
// =================================================
?>
<?php conndb(); ?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=EUC-JP">
<title>アンケート</title>
</head>
<body>

<?php
// -- ページ内容の表示
switch ($act) {
case "a": // 回答一覧表示
gamen_iti();
break;
default: // 質問表示
gamen_q();
}

?>
</body>
</html>
<?php closedb(); ?>

<?php
// =================================================
// ----- アンケート質問画面
// =================================================
function gamen_q() {
global $conn;

$sql = "SELECT * FROM an ORDER BY id desc";
$res = mysql_query($sql, $conn) or die("データ抽出エラー");

if (mysql_num_rows($res) <= 0) { return; }
$row = mysql_fetch_array($res, MYSQL_BOTH);
?>
・・・

上記の
「if (mysql_num_rows($res) <= 0) { return; }
$row = mysql_fetch_array($res, MYSQL_BOTH);」の部分です。

これを単純に↓に変えてみたもののもちろんエラーとなり、

「if (pg_num_rows($res) <= 0) { return; }
$row = pgsql_fetch_array($res, PG_BOTH);」

以後、試行錯誤しているのですが、どうにもこうにも打開できません。

どなたか、ぜひとも教えていただければ大変たすかります。

よろしくお願いいたします。

プログラムをスペースの都合上、一部抜粋のような形になっておりますが、もっと続きをみてみないとどうにもならない。。ということであれば、ご一報いただければと存じます。

A 回答 (1件)

> これを単純に↓に変えてみたもののもちろんエラーとなり、


そのエラー内容が欲しい。
「単純に変えた結果どうなったか」がこの場面では重要だと思うのさ。今回は既に問題の箇所は出ているので、エラーメッセージぷりーず。
よろしくお願いします。

なんとなく、
「if (pg_num_rows($res) <= 0) { return; }
$row = pg_fetch_array($res, PGSQL_BOTH);」
ってしたら動くんじゃねえかなとは思わなくもなきにしもあらず。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!