رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در شمردن رکورد های جدول
#1
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   |
    |------|------|
    
    */
پاسخ
تشکر شده توسط:
#2
بعد از ساعت ها تلاش بی وقفه
فهمیدم وردپرس با ستون read مشکل داره :|
پاسخ
تشکر شده توسط:
#3
کوتیشن رو بردارید احتمالا درست بشه.
$wpdb->get_var("SELECT COUNT(*) FROM $table_name WHERE (read=1 AND type=2) ");
...
پاسخ
تشکر شده توسط: eagle-design.ir
#4
نه ربطی نداشت

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

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

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

ظاهرا بهتره برای ستون ها هم پیشوند بذاریم
پاسخ
تشکر شده توسط:
#5
اسامی فیلدها و جداول و دیتابیس رو از بین کلمات کلیدی MySQL انتخاب نکنید. اگه گذاشتین، حتماً توی کوئریها داخل Backquote بگذارین تا با شناسه های خودش اشتباه نگیره. مشکل از وردپرس نیست.
پاسخ
تشکر شده توسط: eagle-design.ir




کاربران در حال بازدید این موضوع: 1 مهمان