2012-08-05 36 views
0

代码中使用(DB连接已经建立):意外返回的值(MAX(ID))

<?php 
$cur = mysql_query("SELECT MAX(id) FROM trades"); 
echo "$cur"; 
while($cur >= 0) { 
$query = mysql_query("SELECT * FROM trades WHERE id='$cur'"); 

if(mysql_num_rows($query)==0) { 
    echo "ERROR!"; 
    exit(); 
} 
$row = mysql_fetch_assoc($query); 

$tradeID = $row['ID']; 
$mcUsername = $row['Minecraft Username']; 
$blockID = $row['Block ID']; 
$quantity = $row['Quantity']; 
$costPer = $row['CostPer']; 
$tradeNotes = $row['TradeNotes']; 

    echo "<tr>"; 
    echo "<td class='first-td'>$tradeID</td>"; 
    echo "<td>$mcUsername</td>"; 
    echo "<td>$blockID</td>"; 
    echo "<td>$quantity</td>"; 
    echo "<td>$costPer</td>"; 
    echo "<td class='last-td'>$tradeNotes</td>"; 
    echo "</tr>"; 

    $cur = "$cur - 1"; 
} 
?> 

的$ CUR的回波返回:Resource id #7

和IF语句返回ERROR,这很可能是由于$ cur不能正常工作而导致的。

我在做什么时会出现某种语法错误,因为当我在MySQL DB中手动运行$ cur的SQL查询时,它返回期望值。

回答

1

试试这个

$res = mysql_query("SELECT MAX(id) FROM trades"); 
$row = mysql_fetch_row($res); 
$cur = $row[0]; 
echo "$cur"; 

mysql_query返回select查询不是一个值的资源。 Check what is returned by mysql_query and notice the warning against using mysql_ function

+0

好吧,我已经改变了使用这个代码。我现在的问题是,页面刚好在那里加载。没有任何回应,并且页面没有重新加载。我假设它卡在while循环中。你有没有注意到我的代码中有其他错误? – ComputerLocus 2012-08-05 02:29:56

+0

检查最后一部分'$ cur = $ cur - 1'。你有它的引用。可能在无限循环中删除引号 – codingbiz 2012-08-05 02:34:07

+0

谢谢!我认为它被卡住了一个循环,但在PHP语法方面,我仍然有点粗糙。谢谢,它现在似乎正在工作! – ComputerLocus 2012-08-05 02:43:51