这可能是一个简单的错误,但我很难过......
我有一个数据库,在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);
?>
感谢。
答案 0 :(得分:0)
我认为你应该简单地运行:
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);
}
答案 1 :(得分:0)
使用聚合查询将处理移交给数据库,并使用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);
}