thinkphp 出错 :1046:No database selected [ SQL语句 ] : 解决

Posted zhushiqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 出错 :1046:No database selected [ SQL语句 ] : 解决相关的知识,希望对你有一定的参考价值。

1.thinkphp 用的tp3.2, 使用时候出现 1046:No database selected [ SQL语句 ] : 报错,

一开始的入口index.php代码如下:

<?php
// 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,‘5.3.0‘,‘<‘)) die(‘require PHP > 5.3.0 !‘); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define(‘APP_DEBUG‘,true); // 定义应用目录 define(‘APP_PATH‘,‘./Application/‘); // 引入ThinkPHP入口文件 require ‘./ThinkPHP/ThinkPHP.php‘; // 亲^_^ 后面不需要任何代码了 就是如此简单

目录结构:

技术图片

 

 

 

 这个问题查了很久,有说删除runtime下的缓存文件的,但是试了还是没有效果,最后查看了db_config

 1 <?php
 2 return array (
 3   ‘DB_HOST‘ => ‘xxx‘,
 4   ‘DB_NAME‘ => ‘maiqi_db‘,
 5   ‘DB_USER‘ => ‘xxx‘,
 6   ‘DB_PWD‘ => ‘xxx‘,
 7   ‘DB_PORT‘ => ‘3306‘,
 8   ‘DB_PREFIX‘ => ‘xs_‘,
 9   ‘DB_CHARSET‘ => ‘utf8‘,
10   ‘DB_DEBUG‘ => true,
11 );

 

 

数据库的链接我已经换成了xxx,以前是连接正确的。

发现有一个 

 ‘DB_CHARSET‘ => ‘utf8‘,
就试了一下在 index.php入口文件的开头增加:
header("Content-Type: text/html;charset=utf-8");

然后增加:
1 define(‘WEB_PATH‘, dirname(__FILE__));
2 // 判断是否安装,若没有则需先安装
3 $root_filename = rtrim(__FILE__, "index.php");
就可以连接成功了。



以上是关于thinkphp 出错 :1046:No database selected [ SQL语句 ] : 解决的主要内容,如果未能解决你的问题,请参考以下文章

Thinkphp5.1 insertAll方法出错

thinkphp遇到_URL_报错,一般是代码哪里出错了?

THinkPHP 中的 new Model() 错误问题, 一实例化Model 就出错。

nginx不支持pathinfo 导致thinkphp出错解决办法

Thinkphp5 使用unlink删除文件出错Permission denied

ThinkPHP3.2中字段unique验证出错的解决方法