2

我在mysqli中有查询:

function getPicByAlbumt($query)
{
    $sqlStr = "SELECT TOP 10 * FROM tbl_albumpictures WHERE album_Id = ? ".$query;
    return $sqlStr;
}

这是这个查询的过程:

<?php
        $sqlu = getPicByAlbumt("order by rating");
    if ($result2u = $mysqli->prepare($sqlu)) 
    {
        $rekzak = 76;
        $result2u->bind_param("i",$rekzak);
        $result2u->execute();   
        $result2u->store_result();
        $rows2u = $result2u->num_rows;      
    }
    if($rows2u>0)
    {
    $rowu = fetch($result2u);
    for($g=0; $g<$rows2u; $g++)
    {
    $picname = $rowu[$g]["pic_name"];
    ?>
            <div style="float:right; width:115px; height:96px; background:url(<?=$site_url?>/images/t/girlpicbg.png); margin-right:1px; margin-top:2px;">
            <img src="<?=$site_url?>/uploads/albums/<?=$picname?>" style="width:106px; height:88px; margin-top:3px; margin-right:6px;" />
            </div>
    <?php
    }
    }
    ?>

,,,我的问题是 TOP 10 * 在 mysqli 中不起作用 :S .. 任何建议或帮助请 :S ?.. 换句话说:如果我有 20 张照片...按评级排序....我的意思是如果他的订单是 1,则最后一张照片可能是第一张……如果他的订单是 20,则第一张可能是最后一张……所以我想订购前 10 张 id,但是这 10 张是按评级订购的。 .我的意思是..如果我选择了前 10 张 id(照片)...并且第一张照片评分为 20...在这个组中(前 10 张按 id 排列的照片),我希望第一张照片排在最后。因为他的id是20,评分值最大

4

2 回答 2

3

SELECT TOP用于 SQL-Server,而不是 MySQL。您正在寻找的是LIMIT

SELECT * FROM tbl_albumpictures WHERE album_Id = ? LIMIT 10
于 2012-09-27T14:16:23.823 回答
1

你用MySQL对了吗?使用LIMIT 10代替TOP 10对于 MSSQL)。

SELECT...
FROM...
WHERE...
ORDER BY...
LIMIT 10
于 2012-09-27T14:16:17.177 回答