[PHP-users 11089] Re: postgresql 関数と DBSql クラスの違い

shushu2 php-users@php.gr.jp
Fri, 25 Oct 2002 10:44:16 +0900 (JST)


重松様、いつもありがとうございます。
無事
 $sql = "SELECT EXTRACT(DOW FROM TIMESTAMP '$t_time')
 AS DAYOFWEEK";
にて解決しました。
まだまだ知識不足、勉強不足を痛感しています。
LIBを使うからには各incの内容をちゃんと知らないといけ
ま
せんね。エラー処理もちゃんとしないといけないと
思いました。勉強いたします。

本当にありがとうございました。

 --- Osamu Shigematsu <m5issige@mr.hitachi-medical.co.jp> 
からのメッセージ:
> 重松です。こんにちは。
> 
> > $sql = "SELECT EXTRACT(DOW FROM TIMESTAMP
> '$t_time')";
> > $conn->query($sql);
> > $conn->next_record(); 
> > $iweek = $conn->f("EXTRACT");
> > ↑
> > $iweekにはなにも格納されず
> 
> db_pgsql.inc を読みましたか?
> 
> 内部的には、単に pg_fetch_array()
> で引っ張ってきたのを
> $this->Record に放り込んでるだけ。
> 
>   function next_record() {
>     $this->Record = @pg_fetch_array($this->Query_ID,
> $this->Row++);
>     
>     $this->Error = pg_ErrorMessage($this->Link_ID);
>     $this->Errno = ($this->Error == "")?0:1;
> 
>     $stat = is_array($this->Record);
>     if (!$stat && $this->Auto_Free) {
>       pg_freeresult($this->Query_ID);
>       $this->Query_ID = 0;
>     }
>     return $stat;
>   }
> 
> なので、連想配列のキーが 0 なら、0
> 何じゃないでしょうか。
> # で、print_r() でキーを確認する必要があるわけです。
> 
> $sql = "SELECT EXTRACT(DOW FROM TIMESTAMP
> '$t_time')";
> if($conn->query($sql) && $conn->next_record()){
> 	print_r($conn->Record);
> }else{
> 	die("エラー処理");
> }
> 
> というか、不精をせずに、
> 
> $sql = "SELECT EXTRACT(DOW FROM TIMESTAMP '$t_time')
> AS DAYOFWEEK";
> 
> とでもすれば、$conn->f('DAYOFWEEK')
> で引っ張れると思います。
> 
> -- 
> Osamu Shigematsu <m5issige@mr.hitachi-medical.co.jp>
> 
> 
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/