簡體   English   中英

選擇查詢緩慢更新

[英]Select query slow to update

這可能是一個簡單的錯誤,但我很困惑...

我有一個數據庫,其中包含在chrome擴展程序上使用AJAX插入的條目,該數據庫很好用,並且可以立即插入。

我有一個單獨的PHP文件,該文件用於輸出表中的條目數。 此方法有效,但調用時將條目花費很長時間才能更新為正確的號碼。 我需要立即更新。

當表本身立即更新時,查詢輸出正確的數字花這么長時間有什么原因嗎?

<?php
$link = mysqli_connect("localhost", "root", "", "fyp");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
if ($result = mysqli_query($link, "SELECT * FROM links")) {

    $row_cnt = mysqli_num_rows($result);

    printf($row_cnt);

    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

謝謝。

我認為您應該簡單運行:

if ($result = mysqli_query($link, "SELECT count(*) AS `nr` FROM links")) {

    $row_cnt = mysqli_fetch_assoc($result);

    printf($row_cnt['nr']);

    mysqli_free_result($result);
}

這將是最好的。 或者,如果根本不刪除鏈接,則可以運行:

if ($result = mysqli_query($link, "SELECT id FROM links ORDER BY id DESC LIMIT 1")) {

    $row_cnt = mysqli_fetch_assoc($result);

    printf($row_cnt['id']);

    mysqli_free_result($result);
}

通過使用聚合查詢將處理mysqli_result給數據庫,並使用mysqli_result返回標量結果:

if ($result = mysqli_query($link, "SELECT COUNT(1) FROM links")) {
    $row_cnt = mysqli_result($result, 0);
    printf($row_cnt);
    mysqli_free_result($result);
}

暫無
暫無

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

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