[PHP-users 3329] Re: timestampの日付と時刻の更新
HOTTA Michihide
php-users@php.gr.jp
Tue, 6 Nov 2001 10:13:07 +0900
堀田@諌早市です。
On Tue, 6 Nov 2001 09:07:55 +0900
Subject: [PHP-users 3321] Re: timestampの日付と時刻の更新
"S.Mitamura" <mitamura@s-graphi.co.jp> wrote:
> 言葉足らずでした。申し訳ありません。
> Linux上で、initdbをしたPostgresユーザーで、Telnet上にて
> 実行した場合です。
> サーバ・クライアント共に、ローカルネットワーク内です。
>
> PHPからではユーザーはnobodyになりますが、権限はallにしてます。
> 権限はpostgresもnobodyも同じにしてあり、ユーザーが異なりますが、
> 実行しているSQL文自体は同じです。
こちらでは、以下のような感じで正常に動作しています。
読んでいる人が追試できるように書いてあげると、解決が早まると
思います。
hotta@star2:~/temp$ cat t.sql
select version();
drop table t;
create table t (id text, day timestamp);
grant all on t to nobody;
insert into t values ('0001', current_timestamp());
select * from t;
hotta@star2:~/temp$ psqlj -e <t.sql
select version();
version
---------------------------------------------------------------------
PostgreSQL 7.2b1 on i686-pc-linux-gnu, compiled by GCC egcs-2.91.66
(1 row)
drop table t;
DROP
create table t (id text, day timestamp);
CREATE
grant all on t to nobody;
GRANT
insert into t values ('0001', current_timestamp());
INSERT 16604 1
select * from t;
id | day
------+------------------------------
0001 | 2001-11-06 10:11:37.33093+09
(1 row)
hotta@star2:~/temp$ cat t.php
#!/usr/local/bin/php -q
<?php
system("grep Linux /etc/issue");
system("/bin/uname -msr");
printf("PHP version = %s\n", phpversion());
$conn = pg_connect("dbname=hotta");
$sql = "update t set day=current_timestamp() where id = '0001'";
pg_exec($conn, $sql);
$r = pg_exec($conn, "select * from t where id = '0001'");
printf("day = %s\n", pg_result($r, 0, "day"));
?>
hotta@star2:~/temp$ sudo -u nobody ./t.php
Password:
Vine Linux 2.1.5 (Calon-Segur)
Linux 2.2.18-0vl4.2 i686
PHP version = 4.0.6
day = 2001-11-06 10:12:02.96702+09
--
堀田 倫英 Web : http://www.net-newbie.com
Official : hotta@18software.co.jp / Private : hotta@net-newbie.com
Outlook Express をお使いの方 or ML 初心者の方へ:
http://www.net-newbie.com/netiquette/outlook.html