تالار گفتمان nCIS.ir

نسخه‌ی کامل: مشکل در شمردن رکورد های جدول
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
Angel


میخوام تعداد رکورد ها رو با شرایط 'read'= 1 and type = 1  بگیرم

ولی همه ی متغیر های زیر مقدار 0 رو برمیگردونن

اطلاعات دیتابیس هم نوشتم


        
    $table_name    = $wpdb->prefix . 'inbox';
    
    $inbox_rows = $wpdb->get_var("SELECT COUNT(*) FROM $table_name where type= 1 ");
    $unread1 = $wpdb->get_var("SELECT COUNT(*) FROM $table_name WHERE 'read'= 1 and type = 1 ");
    $unread2 = $wpdb->get_var("SELECT COUNT(*) FROM $table_name WHERE 'read'= 1 and type = 2 ");
    $result = $wpdb->get_var("SELECT COUNT(*) FROM $table_name where  'read'= 1 ");
    
    /*
    |------|------|
    | read | type | both of them are int (in phpmyadmin)
    |------|------|
    |   2  |  1   |
    |------|------|
    |   1  |  1   |
    |------|------|
    |   1  |  2   |
    |------|------|
    |   1  |  1   |
    |------|------|
    
    */
بعد از ساعت ها تلاش بی وقفه
فهمیدم وردپرس با ستون read مشکل داره :|
کوتیشن رو بردارید احتمالا درست بشه.
$wpdb->get_var("SELECT COUNT(*) FROM $table_name WHERE (read=1 AND type=2) ");
نه ربطی نداشت

اسم ستون رو به read_Status تغییر دادم ok شد :/

تازه بدون کوتیشن ارور میداد

اما برای read_status مشکلی نداشتم

ظاهرا بهتره برای ستون ها هم پیشوند بذاریم
اسامی فیلدها و جداول و دیتابیس رو از بین کلمات کلیدی MySQL انتخاب نکنید. اگه گذاشتین، حتماً توی کوئریها داخل Backquote بگذارین تا با شناسه های خودش اشتباه نگیره. مشکل از وردپرس نیست.