[PHP-users 11086] Re: postgresql 関数と DBSql クラスの違い
Osamu Shigematsu
php-users@php.gr.jp
Fri, 25 Oct 2002 10:29:59 +0900
重松です。こんにちは。
> $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>