2012-01-27 1 views
0

失敗グローバル一時表の作成は、私はデータベース 私はクエリ文字列の助けを借りて、このデータを取得していますから、一時的なデータの助けを借りて、iframeの上のデータを示し、いくつかのリンクを持っている

のリンクを持つページが

<style type="text/css"> 
a 
{ 
    text-decoration:none; 
} 
.Menu 
{ 
    width:150px; 
    float:left; 
} 
.fr 
{ 
    width:800px; 
    height:800px; 
    float:right 
} 

</style> 
<div class="Menu"> 
<?php 
mysql_connect("localhost","dbname","password"); 
mysql_select_db("dbname"); 
$sql="select * from NSEIndices_latest"; 
$result=mysql_query($sql); 
while($row=mysql_fetch_array($result)) 
{ 
$tpnt=$row['TickerPlantCode']; //nse indice code 
$indexname=$row['IndexName']; //nse indice index name 
?> 
    <tr> 
    <td><a href="http://mastertrade.in/master/wpfiles/gtnsegainers.php?tpnt=<?php echo $tpnt;?>&indexname=<?php echo $indexname;?>" target="fr"><?php echo $indexname;?></a><br></td> 
    </tr> 
    <?php }?> 
    </div> 
    <div class="fr"> 
    <iframe height="780" width="780" scrolling="no" name="fr"></iframe> 
    </div> 
です

は、今すぐ上記のページからのリンクは、一時テーブルは様々なテーブル からデータをcollectiongによって作成され、このページのクエリ文字列の助けを借りてデータをフェッチするが、その一時テーブルからデータを取得中にエラーを取得しています

一時テーブルを持つページがある

<table class="table" cellspacing="0" width="100%"> 
    <tr> 
    <td align="left" valign="middle" style="border:#e7e7e7 1px solid; background-color:#f9f9f9;">Company Name 
     </th> 
    <td align="center" valign="middle" style="border:#e7e7e7 1px solid; background-color:#f9f9f9; background-color:#f9f9f9;">High 
     </th> 
    <td align="center" valign="middle" style="border:#e7e7e7 1px solid; background-color:#f9f9f9; background-color:#f9f9f9;">Low 
     </th> 
    <td align="center" valign="middle" style="border:#e7e7e7 1px solid; background-color:#f9f9f9; background-color:#f9f9f9;">Last Price 
     </th> 
    <td align="center" valign="middle" style="border:#e7e7e7 1px solid; background-color:#f9f9f9; background-color:#f9f9f9;">Prv Close 
     </th> 
    <td align="center" valign="middle" style="border:#e7e7e7 1px solid; background-color:#f9f9f9; background-color:#f9f9f9;">Change 
     </th> 
    <td align="center" valign="middle" style="border:#e7e7e7 1px solid; background-color:#f9f9f9; background-color:#f9f9f9;">%Gain 
     </th> 
    </tr> 
<?php 
mysql_connect("localhost","dbname","password"); 
mysql_select_db("dbname"); 
$tpnt=$_GET['tpnt']; 
$indexname=$_GET['indexname']; 
echo "1".$indexname. "<br>"; 
$query="SELECT nsepricequotes_latest.Symbol, nsepricequotes_latest.CompanyName, nsepricequotes_latest.HighPrice, nsepricequotes_latest.LowPrice, nsepricequotes_latest.LastTradedPrice, nsepricequotes_latest.ClosePrice, nsepricequotes_latest.NetChange, nsepricequotes_latest.PercentChange, nse_index_constituents.Tickerplant_index_code,nse_index_constituents.NSE_Index_Name 
FROM nsepricequotes_latest, nse_index_constituents 
WHERE nsepricequotes_latest.TickerPlantCode = nse_index_constituents.TickerPlant_scrip 
AND PercentChange >0 
ORDER BY PercentChange DESC "; 
$result=mysql_query($query); 
echo "2".$indexname. "<br>"; 
while($row1=mysql_fetch_array($result)) 
{ 
$Symbol1=$row1['Symbol']; 
$CompanyName1=$row1['CompanyName']; 
$HighPrice1=$row1['HighPrice']; 
$LowPrice1=$row1['LowPrice']; 
$LastTradedPrice1=$row1['LastTradedPrice']; 
$ClosePrice1=$row1['ClosePrice']; 
$NetChange1=$row1['NetChange']; 
$PercentChange1=$row1['PercentChange']; 
$Tickerplant_index_code1=$row1['Tockerplant_index_code1']; 
$NSE_Index_Name1=$row1['NSE_Index_Name']; 
} 
echo "3".$indexname. "<br>"; 
$tbl="create GLOBAL TEMPORARY TABLE temppice(Symbol varchar(100),CompanyName varchar(200),HighPrice float(50),LowPrice float(50),LastTradedPrice float(50),ClosePrice float(50),NetChange float(50),PercentChange float(50),Tickerplant_index_code varchar(100),NSe_Index_Name varchar(100)) ON COMMIT DELETE ROWS;"; 
$res=mysql_query($tbl); 
if (!$res) { die('Temporary table creation failed: ' . mysql_error()); } 
if(mysql_error())die(mysql_error()); 
$intbl="Insert into temppice values('$Symbol1','$CompanyName1','$HighPrice1','$LowPrice1','$LastTradedPrice','$ClosePrice1','$NetChange1','$PercentChange1','$Tockerplant_index_code1','$NSE_Index_Name1')"; 
mysql_query($intbl); 
if(mysql_error())die(mysql_error()); 
echo "4".$indexname. "<br>"; 
$query1="Select * from temppice where NSE_Index_Name=$indexname"; 
$result1=mysql_query($query1); 
//if(mysql_error())die(mysql_error()); 
mysql_connect("localhost","dbname","password"); 
mysql_select_db("dbname"); 
while($row=mysql_fetch_array($result1, MYSQL_BOTH)) 
{ 
$symbol=$row['Symbol']; 
$CompanyName=$row['CompanyName']; 
$HighPrice=$row['HighPrice']; 
$LowPrice=$row['LowPrice']; 
$previousclose=$row['LastTradedPrice']; 
$ClosePrice=$row['ClosePrice']; 
$netChange=$row['NetChange']; 
$percentagechange=$row['PercentChange']; 
?> 

    <tr> 
    <td align="left" valign="middle" style="border-right:#e7e7e7 1px solid; border-left:#e7e7e7 1px solid ;border-bottom:#e7e7e7 1px solid;"><?php echo $CompanyName;?></td> 
    <td align="center" valign="middle" style="border-right:#e7e7e7 1px solid; border-left:#e7e7e7 1px solid ;border-bottom:#e7e7e7 1px solid;"><?php echo $HighPrice;?></td> 
    <td align="center" valign="middle" style="border-right:#e7e7e7 1px solid; border-left:#e7e7e7 1px solid ;border-bottom:#e7e7e7 1px solid;"><?php echo $LowPrice;?></td> 
    <td align="center" valign="middle" style="border-right:#e7e7e7 1px solid; border-left:#e7e7e7 1px solid ;border-bottom:#e7e7e7 1px solid;"><?php echo $previousclose; ?></td> 
    <td align="center" valign="middle" style="border-right:#e7e7e7 1px solid; border-left:#e7e7e7 1px solid ;border-bottom:#e7e7e7 1px solid;"><?php echo $ClosePrice;?></td> 
    <td align="center" valign="middle" style="border-right:#e7e7e7 1px solid; border-left:#e7e7e7 1px solid ;border-bottom:#e7e7e7 1px solid;"><?php echo $netChange;?></td> 
    <td align="center" valign="middle" style="border-right:#e7e7e7 1px solid; border-left:#e7e7e7 1px solid ;border-bottom:#e7e7e7 1px solid;"><?php echo $percentagechange;?></td> 
    </tr> 
    <?php } ?> 
</table> 

エラーが取得していますが

一時テーブルの作成が失敗している:あなたは、あなたのSQL 構文でエラーが発生しています。ライン1

答えて

0

According to the manualに近い 'GLOBAL TEMPORARY TABLE temppice(記号はvarchar(100)、仕入先名VARCHAR(200)、HIG' を使用する権利構文についてはMySQLサーバのバージョン に対応マニュアルをご確認くださいMySQLのCREATE TABLE構文はglobalキーワードをサポートしていないことをappears to be an Oracle thingを同様に、私はON COMMIT DELETE ROWS句はいずれかのMySQLで動作しませんOracle構文の一部であると信じてい

あなたはそれはおそらく動作しますこれら二つの部分を削除した場合:。。。

$tbl=<<<SQL 
create TEMPORARY TABLE temppice (
    Symbol     varchar(100), 
    CompanyName   varchar(200), 
    HighPrice    float(50), 
    LowPrice    float(50), 
    LastTradedPrice  float(50), 
    ClosePrice    float(50), 
    NetChange    float(50), 
    PercentChange   float(50), 
    Tickerplant_index_code varchar(100), 
    NSe_Index_Name   varchar(100) 
); 
SQL; 
+0

同じエラーが発生する – Manoj

+0

この文の構文に他の問題はありません。 _exact same_エラーが発生していますか?それはまだ「GLOBAL TEMORARY TABLE」の近くにあると言っていますか?もしあなたがその声明のその部分を削除したとしたら?あとでサポートされていない構文の別のインスタンスをコード内の別の場所に置くことができますか? –

関連する問題