Php和mysql,缺少第一行

时间:2013-06-13 17:49:14

标签: php mysql row

我需要一些帮助。 这段代码错过了第一行,我不知道原因。 我在网上搜索了很多,但每个人都在谈论mysql_fetch_array($ results),但我的代码中没有类似内容。

你在这段代码中发现了什么问题吗?

<?php 

// create query 
$query = "SELECT * FROM products";

// execute query 
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 

$id = mysql_result($result,$i,"id");
$name = mysql_result($result,$i,"name");
$imageurl = mysql_result($result,$i,"imageurl");
$price = mysql_result($result,$i,"price");
$quantity = mysql_result($result,$i,"quantity");

// see if any rows were returned 
if (mysql_num_rows($result) > 0) { 
    // yes 
    // print them one after another 
    echo "<table class='table table-hover'>";
    echo "<thead>
                <tr>
                  <th>ID</th>
                  <th>Name</th>
                  <th>Image</th>
                  <th>Price</th>
                  <th>Quantity</th>
                </tr>
              </thead>";
    while($row = mysql_fetch_array($result)) { 
        echo "<tr>"; 
        echo "<td>".$id."</td><td>".$name."</td><td><a href='".$imageurl."' class='fancybox fancybox-effects-e' title='".$name."'><img src='".$imageurl."' alt='".$name."'></a></td><td>€ ".$price."</td><td>".$quantity."</td>";
        echo "</tr>";
    }
    echo "</thead>";
    echo "</table>"; 
} 
else { 
    // no 
    // print status message 
    echo "No rows found!"; 
} 

// free result set memory 
mysql_free_result($result); 

// close connection 
mysql_close($connection); 

?>

1 个答案:

答案 0 :(得分:3)

请在mysql_result

的PHP页面上注明此消息
Calls to mysql_result() should not be mixed with calls to other functions that deal with the result set.

这将使您的记录指针超过第一个结果,因此您对mysql_fetch_array的调用将会被一个调用。

无论如何,我认为你所追求的是

<?php 

// create query 
$query = "SELECT * FROM products";

// execute query 
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 

// see if any rows were returned 
if (mysql_num_rows($result) > 0) { 
    // yes 
    // print them one after another 
    echo "<table class='table table-hover'>";
    echo "<thead>
                <tr>
                  <th>ID</th>
                  <th>Name</th>
                  <th>Image</th>
                  <th>Price</th>
                  <th>Quantity</th>
                </tr>
              </thead>";
    while($row = mysql_fetch_array($result)) { 
        echo "<tr>"; 
        echo "<td>".$row["id"]."</td><td>".$row["name"]."</td><td><a href='".$row["imageurl"]."' class='fancybox fancybox-effects-e' title='".$row["name"]."'><img src='".$row["imageurl"]."' alt='".$row["name"]."'></a></td><td>€ ".$row["price"]."</td><td>".$row["quantity"]."</td>";
        echo "</tr>";
    }
    echo "</thead>";
    echo "</table>"; 
} 
else { 
    // no 
    // print status message 
    echo "No rows found!"; 
} 

// free result set memory 
mysql_free_result($result); 

// close connection 
mysql_close($connection); 

?>