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");
就可以连接成功了。


原文地址:https://www.cnblogs.com/zhushiqiang/p/11676782.html

时间: 2024-10-20 05:11:19

thinkphp 出错 :1046:No database selected [ SQL语句 ] : 解决的相关文章

Database | 分页SQL语句

使用数据库SQL语句实现分页功能. Oracle分页语句 Oracle使用ROWNUM伪列实现分页: select * from ( select "temp".*, ROWNUM "rn" from <表/查询块> "temp" where ROWNUM <= currengPage * pageSize ) where "rn" > (currentPage-1) * pageSize curren

MYSQL数据库导入sql的时候报错:[Err] 1046 - No database selected

今天把之前其它电脑导出的sql,导入本机的MySQL数据库时候出现了报错.原因是没有先新建数据库就直接的导入. 解决方式:先新建数据库:test_db,再右键运行批处理文件.

笔记(二) C#sql语句

SQL语句大全删除数据库 drop database databasename SQL语句大全备份 --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack SQL语句大全创建新表 create table tabname(col1 type1 [not null]

SQL点滴10—使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比

原文:SQL点滴10-使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比 今天偶尔看到sql中也有with关键字,好歹也写了几年的sql语句,居然第一次接触,无知啊.看了一位博主的文章,自己添加了一些内容,做了简单的总结,这个语句还是第一次见到,学习了.我从简单到复杂地写,希望高手们不要见笑.下面的sql语句设计到三个表,表的内容我用txt文件复制进去,这里不妨使用上一个随笔介绍的建立端到端的package的方法将这些表导入到数据库中,具体的就不说了. 从这里下载文件employ

MySQL与SQL语句的操作

MySQL与SQL语句的操作 Mysql比较轻量化,企业用的是Oracle,基本的是熟悉对数据库,数据表,字段,记录的更新与修改 1. mysql基本信息 特殊数据库:information_schema,performance_schema 特殊的数据表:包含着数据库的信息与设置 2. MySQL基本操作 连接:mysql -u username -h [ip] -p [password] 增加用户: 新增mysql用户:如果你需要添加 MySQL 用户,你只需要在 mysql 数据库中的 u

如何用ORM支持SQL语句的CASE WHEN?

OQL如何支持CASE WHEN? 今天,一个朋友问我,OQL可否支持CASE WHEN语句?他给的示例SQL如下: select HName,case when IsEnable=1 then '启用' else '停用' from tb_User OQL是SOD框架的ORM查询语言,它类似Linq,但是它诞生的历史比Linq早,并且更加接近SQL语法.所以,对SOD框架而言,对应ORM如何支持CASE WHEN,就等于是问OQL如何支持CASE WHEN了. 这个问题已经不止这一个朋友来问我

thinkphp 和 laravel使用sql语句操作db和源码浅析

前言 对于一个PHP应用,可能最多的就是操作数据,以致于初学者有时只把php当做数据库增删查改的工具(这也无可厚非).而基于框架的语言,在框架中自然不能少了对数据库操作的封装,总想打开源码,看看到底是怎么工作的,趁着有时间~~ thinkphp[tp框架] 首先是这个中国人用的最多的框架说起.ps:我是基于thinkphp3.2来说,tp5.x党见谅~ thinkphp支持对原生的sql语句执行,如: $db=M(); $condition="XXX"; $sql="sele

zabbix导入数据库报错1046 (3D000) : No database selected

Zabbix导入数据库时报错 使用如下命令导入Zabbix数据库时报错 zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p Enter password: ERROR 1046 (3D000) at line 1: No database selected 解决办法: //1,先把原始的数据库压缩包备份 cp /usr/share/doc/zabbix-server-mysql/create.sql.

Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名

Oracle数据库,用mybatic批量插入数据: <insert id="saveBatch" parameterType="io.renren.entity.NodeDataEntity" databaseId="oracle"> insert into "NODE_DATA" ( "NODE_ID", "DATA_TIME", "DATA_VALUE"