• 締切済み

PEAR::DBで取得したデータで処理を分岐したい

DB関連が苦手な上、動作がうまくいかず、アドバイスをいただければと存じます。現在PHP4、MYSQL4.1.20を使用しております。 行いたい処理は、 PEAR::DBで実行したクエリ SELECT MAX(id) FROM table WHERE `name` = '$test'; 等で、whereで一致する行を絞込み、そのうちの最大値のIDを取得 (クエリの動作は、MYSQL単体で行った場合問題なしで、idの値を取得) その後MAX()で取得した1つIDを、$resultに代入したいのですが、どの様に行えばよいのかわかりません。 今までfetchRow()で事足りていたことで、他の関数がわかりません>< $result=$DB->getOne("SELECT MAX(id) FROM table WHERE `name` = '$test';"); といった感じで取得するのが良いのかも知れませんが、うまく取得できずに詰まっておりますorz 解決法、アイデア等ございましたら、お伺いできればと存じます。 上記ソースは、質問させていただく上で、新規に書いたソースですので、カラム名、変数は仮のものです。不明な情報等ございましたら、捕捉させていただきたいと存じます。

みんなの回答

回答No.2

こんな感じではダメでしょうか $stt = $db->prepare(" select max(id) as id_max from table where name = ? "); $rs = $db->execute($stt , $test); while($row = $rs->fetchRow(DB_FETCHMODE_ASSOC)) { $id_max = $row["id_max"]; } echo($id_max);

  • gooteri
  • ベストアンサー率0% (0/1)
回答No.1

$resultに何が返ってきているかを見ると糸口が見えるかもしれません。 $resultの次あたりに以下の文を入れて表示されるメッセージを確認してみてください。 ---<以下ソース>--- if(PEAR::isError($result)) { print_r("Error: " . $result->getMessage()); } else { print("Success:"); var_dump($result); } ------------------

関連するQ&A

専門家に質問してみよう