سؤال

$result = $db_con->query("SELECT SQL_CALC_FOUND_ROWS * FROM users LIMIT 0,10");

$count_result = $db_con->query("SELECT FOUND_ROWS() as totalcount");
$row = $count_result->fetch_assoc();
$total = $row['totalcount'];

$مجموع تحافظ على العودة 0 على الرغم $نتيجة يحتوي على جميع الصفوف في ذلك.

ini_set("mysql.trace_mode", "0");

اكتشفت حول هذا الإعداد عن طريق البحث مماثل س هنا لكن ذلك لم يحل المشكلة.

عند استخدام 2 حدد البيانات في الخلية العميل دائما النواتج حق العد.فقط لا يمكن أن يبدو لمعرفة كيفية الحصول على عمل على صفحة php.

PHP الإصدار:5.2.5 بناء 6 MySQL Version:5.1.30

ملاحظة:رمز قدمت هنا لا يتم استخدامها على بلدي الفعلية المشروع ، ومع ذلك ، فإنه لا تجسد المشكلة أنا أعاني مع عدم التمكن من استرداد إجمالي عدد.هذا رمز من ما قرأت عن found_rows () ، يجب أن تعمل ولكن لا.

هل كانت مفيدة؟

المحلول

في php.net وجدت شخص ما ربما نفس المشكلة. كان يتحدث لوجود حالة تعارض التي يمكن أن تحدث: فب صافي . في الأساس هو حل هذه المشكلة عن طريق تأمين مؤقت الجدول على حساب تبطئ.

نصائح أخرى

LIMIT مطلوب لجعل found_rows() تعمل بشكل صحيح

إضافة حد إلى نهاية الاستعلام الخاص بك ، أي.

SELECT SQL_CALC_FOUND_ROWS * FROM users LIMIT 0,10;

http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows

FOUND_ROWS() -- بالنسبة حدد مع حد الشرط ، عدد الصفوف التي يتم إرجاعها كانت هناك حد شرط

ولست متأكدا ما مكتبة قاعدة البيانات التي تستخدمها ولكن يبدو أنك تحاول لحساب عدد الصفوف في بيان حدد في بي من قاعدة بيانات MySQL.

هل حاول رؤية ما اذا كان يعمل مع المدمج في وظائف قاعدة بيانات الخلية في بي؟

$count_result = mysql_query("SELECT COUNT(*) as totalcount FROM users");
$row = mysql_fetch_array($count_result);

$total = $row['totalcount'];
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top