2011-11-27 180 views
0

我創建參數來限制使用PHP變量的mysql查詢。我正在輸出查詢以確保它是正確的,而且是。但是結果完全忽略了偏移參數。但是,如果我手動輸入LIMIT,它工作正常。動態mysql查詢LIMIT不起作用

$page_rows = 5; 
    $max = ($pagenum - 1) * $page_rows .',' .$page_rows; 

    $qry = "SELECT * FROM ".$wpdb->prefix."nslikethis_votes WHERE user_id = '$uid' AND active = 1 ORDER BY time DESC LIMIT " . $max; 

    $rs = mysql_query($qry); 

    $result = array(); 

    if($rs && $rows>0){ 
     while($lc = mysql_fetch_object($rs, "LikedContent")){ 
      $result[] = $lc; 
     }  
    } 

    return $result; 

1.4.3 $ QRY給了我這一點,我是否使用$最大或手動輸入 '5,5':

SELECT * FROM wp_nslikethis_votes WHERE user_id = '1' AND active = 1 ORDER BY time DESC LIMIT 5,5 
+0

檢查你的$最大變量.. –

+0

我也輸出了最大變量,它看起來很好,例如。 '5,5' – jetlej

+0

最好的猜測是'$ pagenum'爲零或未定義,或者'$ page_rows'爲零或未定義。我建議只用代碼調試器或輸出'$ qry'到日誌/屏幕來找出這個問題。 – hafichuk

回答

0

嘗試這樣做了檢查:

 
$page_rows = "5"; 
$max = ($pagenum - 1) * $page_rows .',' .$page_rows; 
$qry = "SELECT * FROM ".$wpdb->prefix."nslikethis_votes WHERE user_id = '$uid' AND `active` = 1 ORDER BY `time` DESC LIMIT " . $max; 

//check for variables in query like $wpdb->prefix, $uid: are they fine, and try adding tilded sign as above 

希望這個作品爲你

+0

應該提到我在上面設置了$ page_rows = 5。現在編輯問題。所以這並沒有改變任何東西。我也迴應$ max變量進行調試,它看起來很好,例如。 5,5 – jetlej