回答受付中の質問
始めまして、soulutionと申します。
この度、社内イントラネット構築により、備品発注機能をポータルサイトに追加することになりました。
ポータルサイトはphp+mysqlにて動作しております。
なのでphp+mysqlにて備品発注機能を実装しようと思いまして、ベースはショッピングカート機能で作成しようかと思っております。
googleなどでphpによるショッピングカート作成しているフリープログラムを見つけ、プログラム解析をしていたのですが、そのプログラムのデータベースはPostgresSQLベースで組まれており、当方ではPostgresSQL文をMysql文に変換できなかったため、皆様にお力添えしていただけたらと思っております。
いろいろ思考錯誤しましたが、エラーとなりました。。
一応下記に構文を載せておきます。
どうぞよろしくお願い致します。
開発環境(サーバ)
OS:windows XP sp2
PHP:バージョン5.28
MySQL:バージョン5.1
エディタ:Adove DreamweaverCS3
ブラウザ:Internet Explore ver6.0
PostgreSQL文(これをMySQL用に変換します)
------------------------------------------------------------
if($mode == 'sort'){
if($a){
$sql = "select * from db01 where a = " . $a . " order by " . $b . " " . $c;
}else{
$sql = "select * from db01 order by " . $b . " " . $c;
}
}else{
$sql = "select * from db01 order by " . $b . " " . $c;
}
MySQL(当方が考えました)
------------------------------------------------------------
if($mode == 'sort'){
if($a){
$sql = "select * from db01 where a=$a ORDER BY $b.$c ";
$mysql->query($sql);
}else{
$sql = "select * from db01 ORDER BY $b.$c";
$mysql->query($sql);
}
}else{
$sql = "select * from db01 ORDER BY $b.$c";
$mysql->query($sql);
}
エラー
------------------------------------------------------------
Fatal error: Call to undefined function pg_query() in C:\Program Files\Apache Group\Apache2\htdocs\Prototype\equipment-order.php on line 408
投稿日時 - 2008-12-15 11:12:51
2人が「このQ&Aが役に立った」と投票しています
回答(2件中 1~2件目)
pg_query()この関数が使えないよ。
といわれています。
pg_queryはポスグレ専用の関数なので、
これをmysql_queryに変えないといけません、
基本的にポスグレとmysqlはSQLは一緒で使えるはずなので、
予想では、mysql_query mysql_db_select mysql_connect
ここら変の関数に変えないといけないと思います。
$mysql->query($sql);
これのクラスに入っているのではないですか?
投稿日時 - 2008-12-15 11:25:49
補足
見つけました。
どれに変換して良いのか判らないのですが、もしよろしければお教えくださいませ・・。
(1)$result = pg_query($d_base, $sql) or die("データ抽出エラー");
(2)$row = pg_numrows($result); //検索結果の行数を取得
(3)$pg_fetch_row($result,$i);
一応私なりに変換したのがこちらです。
(1)$result = mysql_query($d_base, $sql) or die("データ抽出エラー");
(2)$row = strSelectNumRows($result); //検索結果の行数を取得
(3)$mysql->fetch($result,$i);
投稿日時 - 2008-12-15 11:36:30
お礼
なるほど。そういうことですか・・
そういえば、今見直すと見たことない関数がたくさんあります・・汗
これをmysql用に変えないといけないのですね。
おそらく$mysql->query($sql);に入ってると思います・・。
迅速な回答ありがとうございます。
ちなみに・・
pg_fetch_row
もですよね。
投稿日時 - 2008-12-15 11:34:28
OKWaveのオススメ
おすすめリンク