鍍金池/ 問答/ 數(shù)據(jù)庫問答
話寡 回答

1、不要用*,需要什么字段就查什么字段
2、建索引
3、找DBA吧,數(shù)據(jù)庫重新優(yōu)化設(shè)計

涼心人 回答

這兩個瀏覽器偏偏就是解決不了的
可以去msdn查看新的media接口

鐧簞噯 回答

你好,我也遇到了相同的問題,不知道你最后解決了沒有???

慢半拍 回答

你可能是公眾號沒有認(rèn)證,所以沒有權(quán)限吧!

以下是2018.3.30修改:

第1:你貼的是源碼,不是錯誤代碼!
第2:你的源碼也是不完整的,別人根本沒有辦法調(diào)試!比如:
$content = $this->request($url);
請問:$this是什么對象?request方法的定義是怎樣的?
第3:你的源碼也是存在明顯的錯誤的。在PHP中,單引號里的變量是當(dāng)字符串處理的,所以

$url='https://api.weixin.qq.com/cgi-bin/user/get?access_token=.$access_token.&next_openid=NEXT_OPENID
';

這一句,你請求的網(wǎng)址就真的是:

$url='https://api.weixin.qq.com/cgi-bin/user/get?access_token=.$access_token.&next_openid=NEXT_OPENID

這是不對的,應(yīng)該用雙引號。并且,你的參數(shù)NEXT_OPENID應(yīng)該是個變量,而你這里只是一個大寫字母的字符串!
綜上所述,你的代碼無法獲取用戶信息是正常的,和公眾號權(quán)限無關(guān),是代碼級問題!
最后,附上一段可執(zhí)行的代碼,供你參考:

<?php
$appid='';//寫上你的appid
$appsecret='';//寫上你的密鑰
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$jsoninfo = json_decode($output, true);
$access_token = $jsoninfo["access_token"];
echo $access_token;

//獲取到openid
userlist($access_token);

//獲取用戶列表
function userlist($access_token){

   $url="https://api.weixin.qq.com/cgi-bin/user/get?access_token=$access_token";
echo 'url'.$url;

   // $content = $this->request($url);
   $content=curl1($url);
   print_r($content);
   $content = json_dcode($content);
   $openidList = $content -> data->openid;
   var_dump($openidList);

   echo '關(guān)注人數(shù)為:'.$content->total.'人.<br/>';
   echo 'openid列表為:<br/>';
   foreach($openidList as $key => $value){
       echo $value.'<br/>';
   }
}

function curl1($url1){

$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, $url1);
curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch1, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch1);
curl_close($ch1);
return $output;
}
不討喜 回答

if '.' in os.path.basename(x): 這句是為了判斷是普通文件嗎?萬一文件名里面沒有.怎么辦呢?或者說文件夾里有.怎么辦呢?這是題外話~
問題出在你這句上:search(os.listdir(os.path.join(os.getcwd(),x))),在第二重遞歸里os.listdir的參數(shù)是{basefolder}\b,其當(dāng)然不是目錄,而應(yīng)該是{basefolder}\a\b,于是乎就退出了~
比如第一次for訪問的是D:\a,第二次訪問的是D:\b,當(dāng)然不是目錄了……

為啥要自己去造輪子……os庫下面有個os.walk用這個不好嗎?http://www.runoob.com/python/...

背叛者 回答

個人認(rèn)為是新建表數(shù)據(jù),因為游戲可能只開放一段時間。新建一張表不影響老表結(jié)構(gòu),同時保證業(yè)務(wù)正常運(yùn)行。本來就屬于老表的下的附加關(guān)系表(如果以后有別的游戲也需要一些統(tǒng)計,可以設(shè)置type值區(qū)分,如果只需要統(tǒng)計結(jié)果,一段時間可以直接刪除<前提是整理好相關(guān)數(shù)據(jù),新表不需要了>)。

單眼皮 回答

Row size too large 是指一條記錄中定長的字段總長度超過設(shè)定值了,有兩個方案可選:

  • 修改某些字段類型,比如把VARCHAR修改為TEXT、BLOB(這兩個不占用記錄總長度),這樣總長度就下來了。
  • 修改MySQL的配置屬性 inno_db_page_size 把它放大

與你圖上標(biāo)的兩個屬性無關(guān)。

囍槑 回答

你可以曬下你的sql語句嗎,還有你timestamp的索引是什么?

淺淺 回答

請問您解決了嗎 我目前也遇到這個問題

骨殘心 回答

其實(shí)這個要用到filed這個方法,例子

LikeModel::where('typedid','in',$ids)
    ->where(['user_id'=>14,'status'=>1])
    ->filed('typeid,COUNT(*) as total')
    ->group('typeid')
    ->select();

沒有太過于去查看,大概就這個意思

悶騷型 回答

很明顯沒有值傳過來啊

做一個判斷是否為空然后賦默認(rèn)值

解決

陪她鬧 回答

個人觀點(diǎn):可以嘗試在配置中添加一下配置(以下為MySQL配置,如果是其他數(shù)據(jù)庫需做相應(yīng)修改)

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

關(guān)于springboot連接數(shù)據(jù)庫

希望對你有所幫助,謝謝

風(fēng)畔 回答

又去仔細(xì)的翻了翻文檔。 自己搞定了。
具體思路: 使用聚合

  1. 匹配相應(yīng)數(shù)據(jù)
  2. 對匹配到數(shù)據(jù)進(jìn)行g(shù)roup
  3. 統(tǒng)計
db.b.aggregate([
  {$match: 
    {"sex": {$in: ["man","woman"]}}
  },// match匹配sex為 man和woman
  {$group:
    {
      _id: "$sex", // 根據(jù)什么字段分組
      count: {$sum:1} // 統(tǒng)計其他字段,并返回count: ***
    }
  }
])
尐懶貓 回答

用find_in_set可以處理, 效率具說不咋行

create table a (
  id int primary key auto_increment,
  column1 varchar(50),
  column2 varchar(100)
) engine = InnoDB;

insert into a values (1, 'abc', '1,2,3');

create table b (
    id int primary key auto_increment,
    column1 int default 0,
    column2 varchar(10) default ''
) engine = InnoDB;

insert into b values (1, 1, 'a');
insert into b values (2, 2, 'b');
insert into b values (3, 3, 'c');


select a.column1, (select group_concat(b.column2) as column2 from b where find_in_set(b.column1, a.column2)) as column2 from a;
久舊酒 回答

我發(fā)現(xiàn)你問過這類問題好多次了,但這些問題在文檔用你都可以找到答案,我建議你先好好看看文檔。

壞脾滊 回答

如果關(guān)系可以自定義,那么
數(shù)據(jù)結(jié)構(gòu):

 const 關(guān)系鍵值對 = {
關(guān)系0:[{姓名:'姓名00',電話:'電話00'},{姓名:'姓名01',電話:'電話01'}],
關(guān)系1:[{姓名:'姓名10',電話:'電話10'},{姓名:'姓名11',電話:'電話11'}]
}


邏輯:根據(jù)當(dāng)前選擇的關(guān)系(如關(guān)系0),然后將 聯(lián)系人的信息填入關(guān)系 為 本次選擇關(guān)系的 聯(lián)系人中。
思路的代碼實(shí)現(xiàn):比如選擇關(guān)系為關(guān)系N,聯(lián)系人姓名為 姓名03,聯(lián)系人電話為 電話03;

     
     let userInfo = {姓名:'姓名03',電話:'電話03'};
     if(關(guān)系鍵值對['關(guān)系N']){
         關(guān)系鍵值對['關(guān)系N'].push(userInfo);
     }else{
         關(guān)系鍵值對['關(guān)系N'] = [];
         關(guān)系鍵值對['關(guān)系N'].push(userInfo);
     }
    

如果有看不懂得地方,你可以把你的model名字發(fā)給我,我直接給你寫代碼。

紓惘 回答

首先在model所在文件中加入from django.contrib.auth.models import User;在你的model中添加一個外鍵,引用User,例如username = models.ForeignKey(User, on_delete=models.CASCADE)
然后在serializer類中添加username =serializers.ReadOnlyField(source='owner.username'),并在Meta的fields中添加'username'就可以了。