簡體   English   中英

Mysqli多查詢PHP

[英]Mysqli multi query PHP

我想使用php mysqli函數來查詢:

SET @rownum = 0, @rank = 1, @prev_val = NULL;
SELECT @rownum := @rownum + 1 AS row,
    @rank := IF(@prev_val!=score,@rownum,@rank) AS rank,
    userid,
    @prev_val := score AS score
FROM (
    SELECT userid, sum(amount) as score 
    from leads WHERE date(time) >= '2013-08-15'
    group by userid
) exodus_entries 
 ORDER BY rank asc LIMIT 0,100;

我嘗試使用mysqli_query(link,query); 功能,但是沒有運氣,有什么幫助嗎?

無需使用多重查詢,每當您使用多重查詢時,都會冒安全隱患

用戶變量@ rownum,@ rank,@ prev_val的值對於第二個查詢將保持有效,只要您在同一連接中運行兩個查詢即可。

因此,只需運行mysqli_query("SET ..."); 然后運行mysqli_query("SELECT..."); 分別。 這樣做要簡單得多,並且至少可以避免一種安全風險。

關於您的錯誤:

mysqli_fetch_row() expects parameter 1 to be mysqli_result, boolean given 

始終檢查mysqli_query()的返回值。 如果有錯誤,它將返回false 當然,您不能運行mysqli_fetch_row(false);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM