[PHP-users 20521]Re: PHP4.3からの新しいPostgreSQL関数について

makino k-m @ hyper.cx
2004年 2月 22日 (日) 16:07:43 JST


牧野です。

Sun, 22 Feb 2004 09:53:10 +0900
みのむし<minoran @ lily.freemail.ne.jp> -wrote:
> 
> test=# select * from item;
>  item_id | item_name | comment
> ---------+-----------+---------
>        1 | aaa       | test    
>        2 | bbb       | test2   
>        3 | ccc       | test3   
>        4 | ddd       | test4   
> という単純なものです。
> 


> PHPは
> <?
> $ResID  = pg_query($dbconn,"select * from item");
> $Ares01 = pg_fetch_all($ResID);
> ?>
> <TABLE border="1">
>   <TBODY>
>     <TR>
>       <TD>ID</TD>
>       <TD>鶏種名</TD>
>       <TD>備考</TD>
>       <TD>鶏種マスターのデータ更新</TD>
>     </TR>
> <?
> for($i = 0;$i < count($Ares01);$i++){
>         ECHO "    <TR>\n";
>         ECHO "      <TD>$Ares01[$i]['item_id']</TD>\n";
>         ECHO "      <TD>$Ares01[$i]['item_name']</TD>\n";
>         ECHO "      <TD>$Ares01[$i]['item_comment']</TD>\n";
>         ECHO "    </TR>\n";
> }
> ?>
>   </TBODY>
> </TABLE>
> 
> いう感じなのですが、$Ares01[$i]['item_comment']をvar_dumpなどで
> みてもNULLが返ってきてしまいます。
> そもそもpg_fetch_allの使い方が間違っているのでしょうか?
>

var_dump($Ares01[$i]['item_comment'])する前に
var_dump($Ares01) or print_r($Ares01)してみましたか?

print_r($Ares01); で
Array
(
    [0] => Array
        (
            [item_id] => 1
            [item_name] => aaa
            [comment] => test
         )
    [1] => Array
        (
            [item_id] => 2
            [item_name] => bbb
            [comment] => test2
         )
    [2] => .....
    ......
    ......
)
になっていますか?

一度 $ResID && $Ares01 を var_dump or print_r で確認してみて下さい。

あと、
>         ECHO "      <TD>$Ares01[$i]['item_id']</TD>\n";
は、やるなら
ECHO "       <TD>{$Ares01[$i]['item_id']}</TD>\n"; では?


/*++++++++++++++++++++++++++++++++
 * 牧野 <k-m @ hyper.cx>
 *++++++++++++++++++++++++++++++++
 */





PHP-users メーリングリストの案内