PHP / MySQL / クエリ実行
【概要】
PHPからMySQLへのクエリを実行したいのですが、結果が返りません。
【環境】
CentOS5 [PHP5]
sakuraインターネット レンタルサーバ スタンダートプランです。
参考:http://www.sakura.ne.jp/rentalserver/matrix.html
【ソース PHP】
------------------------------------------------------------
$query =
mysql_query('
SET @i := 0;
SET @ii := 0;
SET @iii := 0;
SET @iiii := 0;
select `sys_no`,`day`,`counter`,(@iiii := @iiii +1)as `counter2` from
(select `sys_no`,`name`,`day`,(@i := @i +1) as `counter` from TBL名 ORDER BY `day` DESC ) as aa
where counter BETWEEN
(select a.counter from
(select `sys_no`,`day`,(@ii := @ii +1) as `counter` from TBL名 ORDER BY day DESC ) as a where sys_no =5) - 1
AND
(select a.counter from
(select `sys_no`,`day`,(@iii := @iii +1) as `counter` from TBL名 ORDER BY day DESC ) as a where sys_no =5) + 1
');
while ($row = mysql_fetch_array($query)) {
結果取得処理
}
------------------------------------------------------------
・上記をPHPより実行しますと、「while~」の部分で結果が無いとエラーが返ります。
・phpMyAdminから直接クエリの部分のみを実行しますと、問題無く結果が返ります。
・なお、クエリを簡単な一行程度の内容にしますと問題無く実行され、結果が返ります。例:select * from TBL名
・また、上部にセットしている4つのSETを試しに削除した状態でPHPより実行しますと、結果は返りませんがエラーにはなりません。
以上、アドバイス頂戴できますでしょうか。
よろしくお願い致します。
補足
すみません、テーブルの項目を書くのを忘れていました。下のような項目になっています。 少なくとも3つの言語を話す国を選択するという条件の作り方がわからないんです。 お手数かけますが、よろしくお願い致します。 city +-------------+----------+ | Field | Type | +-------------+----------+ | ID | int(11) | | Name | char(35) | | CountryCode | char(3) | | District | char(20) | | Population | int(11) | +-------------+----------+ country -------------------------- | Field | Type | +----------------+-------- -------------------------+ | Code | char(3) | | Name | char(52 | | Continent | enum('A rctica','South America') | | Region | char(26 | | SurfaceArea | float(1 | | IndepYear | smallin | | Population | int(11) | | LifeExpectancy | float(3 | | GNP | float(1 | | GNPOld | float(1 | | LocalName | char(45 | | GovernmentForm | char(45 | | HeadOfState | char(60 | | Capital | int(11) | | Code2 | char(2) | CountryLanguage +-------------+--------------- | Field | Type +-------------+--------------- | CountryCode | char(3) | Language | char(30) | IsOfficial | enum('T','F') | Percentage | float(4,1) +-------------+---------------