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语句 ] : 解决的主要内容,如果未能解决你的问题,请参考以下文章
THinkPHP 中的 new Model() 错误问题, 一实例化Model 就出错。
nginx不支持pathinfo 导致thinkphp出错解决办法