[PHP-users 31234] Re: PHP5+SQLServerの組み合わせのときのSQL記述について

kanonbell kanonbell.sky @ gmail.com
2007年 1月 9日 (火) 20:34:46 JST


こんばんは。
初投稿となります。よろしくお願いします。

> --------(一部抜粋)------------
> $strQuery = "SELECT GroupID,session FROM wms_session WHERE (date >='2006/12/01' and date <= '2006/12/31') group by GroupID,session";
> $sql = mssql_query($strQuery,$db);

もちろんテーブルは違いますが、同様のクエリを実行してみて特に問題なく結果を取得できました。
環境はWinXP SP2 Apache2.2.3 PHP5.2.0でSQLServer2005とだいたい一緒でしょうか。
他のRDBMSはあまり触ったことがないのですが、基本的なクエリでもあり、特に問題があるようには見えませんね。

> Warning:  mssql_query() [function.mssql-query]: Query failed in C:\PHP\output_duration.php on line 90
> というエラー表示が・・・(?_?)

この前にもうひとつエラーメッセージが表示されませんか?
RDBMS自体が吐くエラーが表示されると思うのですが。
文字化けしている可能性があるので手を加えないと読めないことがありますけれども。

$strQuery = "SELECT GroupID,session FROM wms_session WHERE (date
>='2006/12/01' and date <= '2006/12/31') group by GroupID,session";
if(!$sql = @mssql_query($strQuery,$db))
{
 $err = mssql_get_last_message();
 mb_convert_variables("UTF-8", "SJIS", $err);//文字化けするなら適当に。
 print $err;
}

こんな感じに変えるとエラーメッセージ読めて原因特定しやすいんじゃないでしょうか。
Warningが表示されるなら問題ないと思いますが、もし何もでないならphp.iniでエラーメッセージの表示を抑制していないかチェックするといいかもしれません。


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