首页 > 技术文章 > 使用THINKPHP产生的:No database selected [问题

tour-code 2013-12-04 19:38 原文

开发环境:wampserver2.4

Apache : 2.4.4 MySQL : 5.6.12 PHP : 5.4.12 PHPMyAdmin : 4.0.4 SqlBuddy : 1.3.3 XDebug : 2.2.3


开发框架:thinkphp3.1.3完全版。
步骤:
1.在数据库中添加数据库test,添加表userinfo,添加一条记录。


2.修改配置文件:

<?php
if (!defined('THINK_PATH')) exit();
return array(
//'配置项'=>'配置值'
//数据库配置信息
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 数据库服务器地址
'DB_NAME' => 'test', // 数据库名
'DB_USER' => 'root', // 数据库用户名
'DB_PWD' => '', // 数据库密码

'DB_PORT' => 3306, // 数据库端口
'DB_CHARSET' => 'utf8', // 数据库编码
'DB_PREFIX' => 'think_', // 数据库表前缀
//'DB_PREFIX' => 'ts_', // 数据库表前缀(因为漫游的原因,数据库表前缀必须写在本文件)
//其他项目配置参数
// ...
//'SHOW_PAGE_TRACE' =>true, // 显示页面Trace信息
//'APP_DEBUG' => false,

);
?>

 

3.在UserinfoAction.class.php的index方法中添加代码:

$first ='第一次输出这是';
$this->assign('first',$first);
$userinfo=M('userinfo');
$list=$userinfo->select();
dump($list);
if($userinfo->select())
{
$this->assign('alist',$list);
}
else
echo $userinfo->getDbError();

 

$this->display('userinfo');


4,在浏览器中输入:http://localhost/Test/Admin.php/userinfo/
5.测试结果:
select * from userinfo
boolean false
1046:No database selected [ SQL璇彞 ] : select * from userinfo

我已经设置了数据库了,错误却提示没有选择数据库,怎么回事呢?

 

费了好大久,怎么改都不行,查来查去,终于找到一个和我这个类似的原因了,解决办法如下:

设置方法:控制面板-用户账户和家庭安全-系统和安全-行动中心,里面有“更改用户账户控制设置”,改成从不通知,完成后会提示重启,此时需要重启一下。

 

我照这个方法修改,系统果然要重启,很好,窃喜一下,以为要好了呢,没想启动后,打开浏览器还是不行,,,,,郁闷了

 

在无路的时候,突然想到了,runtime这个文件夹,对了运行时缓存,影响很大,一定要删除一下,果然一删除天下太平了,全都出来了

 

 

推荐阅读