私は完全にmysqlで動作するが、postgresqlに変換すると動作しない例があります。秘密のmysqlからpostgresqlのクエリ
のMySQLコード:(index.phpを):
<?php
require('includes/connection.php');
include('func.php');
?>
<html>
<head>
</head>
<body>
<p>
<form action="" method="post">
<select name="drop_1" id="drop_1">
<option value="" selected="selected" disabled="disabled">Select a Category</option>
<?php getTierOne(); ?>
</select>
</form>
</body>
</html>
MySQLのコード(func.php):
function getTierOne()
{
$result = mysql_query("SELECT DISTINCT tier_one FROM three_drops")
or die(mysql_error());
while($tier = mysql_fetch_array($result))
{
echo '<option value="'.$tier['tier_one'].'">'.$tier['tier_one'].'</option>';
}
}
PostgreSQLのコード:(index.phpを):
<?php
require('includes/connection.php');
include('func.php');
?>
<html>
<head>
</head>
<body>
<p>
<form action="" method="post">
<select name="drop_1" id="drop_1">
<option value="" selected="selected" disabled="disabled">Select a Category</option>
<?php getTierOne(); ?>
</select>
</form>
</body>
</html>
PostgreSQLのコード(func.php):
function getTierOne()
{
$sth = $dbh->query("SELECT DISTINCT tier_one FROM three_drops");
while($tier = $sth->fetch())
{
echo '<option value="'.$tier['tier_one'].'">'.$tier['tier_one'].'</option>';
}
}
接続(PostgreSQLには):
接続が機能していますが、私はエラーを取得:(メンバ関数クエリに呼び出し)を非オブジェクト上に配置します。
を初期化する必要がありますか?あなたはconnection.phpで何を持っていますか?多分、$ dbh-> queryをpg_queryで、$ sth-> fetchをpg_fetch_assoc($ sth)で置き換えてください。 –
私は自分の質問を接続で更新します。私はあなたの提案をしようとするが、私は同じ結果を持っています:非オブジェクトのメンバ関数pg_query()を呼び出します。 – Sbml