ThinkPHP数据库查询为什么没有显示结果,求教高手!
先附上代码:入口文件:index.php<?phpdefine('THINK_PATH','./ThinkPHP/');define('APP_NAME','2');de...
先附上代码:
入口文件:index.php
<?php
define('THINK_PATH','./ThinkPHP/');
define('APP_NAME','2');
define('APP_PATH','./');
require(THINK_PATH."ThinkPHP.php");
?>
配置文件:config.php
<?php
return array(
//'配置项'=>'配置值'
'DB_DEBUG'=>true,
'DB_TYPE'=>'mysql',
'DB_HOST'=>'localhost',
'DB_NAME'=>'db_database20',
'DB_USER'=>'root',
'DB_PWD'=>'',
'DB_PORT'=>'3306',
'DB_PREFIX'=>'think_',
);
?>
IndexAction.class.php文件
<?php
header("Content-type:text/html charset=utf-8");
class IndexAction extends Action {
public function index(){
$db= new Model('user');
$select=$db->select();
$this->assign('select',$select);
$this->display();
}
}
?>
idnex.html文件
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<volist name="select" id="user">
ID:{$user.id}<br/>
user:{$user.user}<br/>
address:{$user.address}</hr>
</volist>
</body>
</html>
数据库:db_database20
数据库表:think_user
表结构:id user password address
问题:写完上述代码后,在浏览器打开thinkphp的入口文件index.php,显示为空白。
不知道具体问题出在哪里,请求高手指导。 展开
入口文件:index.php
<?php
define('THINK_PATH','./ThinkPHP/');
define('APP_NAME','2');
define('APP_PATH','./');
require(THINK_PATH."ThinkPHP.php");
?>
配置文件:config.php
<?php
return array(
//'配置项'=>'配置值'
'DB_DEBUG'=>true,
'DB_TYPE'=>'mysql',
'DB_HOST'=>'localhost',
'DB_NAME'=>'db_database20',
'DB_USER'=>'root',
'DB_PWD'=>'',
'DB_PORT'=>'3306',
'DB_PREFIX'=>'think_',
);
?>
IndexAction.class.php文件
<?php
header("Content-type:text/html charset=utf-8");
class IndexAction extends Action {
public function index(){
$db= new Model('user');
$select=$db->select();
$this->assign('select',$select);
$this->display();
}
}
?>
idnex.html文件
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<volist name="select" id="user">
ID:{$user.id}<br/>
user:{$user.user}<br/>
address:{$user.address}</hr>
</volist>
</body>
</html>
数据库:db_database20
数据库表:think_user
表结构:id user password address
问题:写完上述代码后,在浏览器打开thinkphp的入口文件index.php,显示为空白。
不知道具体问题出在哪里,请求高手指导。 展开
1个回答
展开全部
我不知道你的配置、结构是怎样的,但是
我图中指出的问题“你把查询结果命名为变量select 塞到通道里面,却用user去取数据”,系统怎么可能会知道user是select?
还有,select()得到的是二维数组,不是一维数组,需要<volist></volist>去遍历读取,跟first() 不一样。
display()方法 默认搜寻与当前执行方法同名的html作为输出模板,你的方法名是index,但是html文件名却叫 idnex ?如果需要主动查找模板,需要display("idnex")。
页面空白应该不是上面问题导致的,具体要看情况,参考以下建议:
使用M("user") 替换 new Model("user"),并在下一行使用var_dump($select) 输出查看数据结构。如果页面空白,说明数据库 或者 user 模型存在问题。
html中{:$select[0]['address']}这种形式读取数据,如果有数据,说明就是select()查询的数据结构无法解析导致的。
追问
var_dump($select)得到的是:C:\wamp\www\1\Lib\Action\IndexAction.class.php:7:boolean false
请问这个是什么情况啊? 是数据库的数据没有取到吗?
但是我的数据库里是有数据的。
追答
数据库查询失败了,有多种原因:1.user模型不存在或存在错误;2.数据库配置存在问题,查询不了。
如果能够成功运行的话,至少会输出数组类型。
你尝试使用 M()->table("think_user")->select(); 查询看看,如果依然是上述错误,说明数据库配置的问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询