Thinkphp table doesn't exist

系统采用Tp3.2的改造....集群为Mysql双工模式:
平时M()主要是操作写,MS操作读。。。今天在查询

$res =MS("user u")->join("{$per}user_info x ON x.uid = u.id")->where("u.id = $uid")->find();
var_dump($res);//false

始终为false.....而通过getLastSql输出的原生sql后:M()->query('sql 语句');返回有记录集。。。
猜测是mysql错误,于是:

$res =MS("user u")->join("{$per}user_info x ON x.uid = u.id")->where("u.id = $uid")->find();
var_dump($res);//false
if(false === $res ){  
    echo MS("user u")->getDbError();   //输出Table 'user_info' doesn't exist
}  

CURD操作如果返回值为false,则表示数据库操作发生错误,这个时候就需要使用模型的getDbError方法来查看数据库返回的具体错误信息。
由此看来,问题就在集群数据表同步问题上(服务器集群是innodb,user_info是Myisam,问题可能就在这里).......统一改成M(读写方式)解决OK......
也希望大家每天都有一点点成果,每天都有一点点进步。






posted @ 2017-10-16 23:02  周伯通之草堂  阅读(1793)  评论(0编辑  收藏  举报