ThinkPHP将网站分为MVC模式,那么对数据库的操作必然是重点之一。即M(Modle)。
ThinkPHP连接数据库
TP连接数据库很简单,只需要在配置文件中配置必要信息即可。
这里稍微说下TP配置文件的优先级,局部工程的配置优先级大于全局优先级。所以前端Index工程的配置(Index/Conf/config.php)会覆盖TP(ThinkPHP/Conf/..)本身的配置文件。
一般我们只会在工程配置里面配置连接数据库,配置config.php如下
<?php
return array(
//数据库连接参数
'DB_HOST' => '127.0.0.1',
'DB_USER' => 'root',
'DB_PWD' => '',
'DB_NAME' => 'think',
'DB_PREFIX' => 'hd_',
// 其他配置内容
....
);
?>
完成上述配置后,我们便可以在php代码中,通过TP的M函数来对数据库进行对应操作。
利用M函数对数据库进行操作
因为我们在配置文件中已经指定要使用的数据库用户名及密码,同时指定了使用哪个数据库,因此我们直接用M函数指定对那个表操作即可。
利用M函数对表操作代码如下
//获取数据,返回array结果,类似 如下
<pre name="code" class="php">$wish = M('wish')->select();
//删除数据Array ( [0] => Array ( [id] => 2 [username] => Jack [content] => Hello [time] => 1421154119 ) [1] => Array ( [id] => 3 [username] => Tom [content] => We have one world [time] => 1421154133 ) [2] => Array ( [id] => 4 [username] => Kate [content] => That is good thing [time] => 1421155912 ) )
//<span style="color:#FF0000;">使用delete必须加入where限制 否则失败</span>
返回bool型的result变量,表明操做是否成功 // $reuslt = M('wish')->where('id > 0')->delete(); //或 ->where(array('id'=>array('gt',0)))
//插入数据 返回插入数据的id值。因为id最小大于0,因此可以用if判断add是否成功 if (M('wish')->data($data)->add())
当然,TP的数据库操作函数也支持原生的SQL语句。
当我们获取到数据库的数据后,下一步的操作一般是将数据显示到前端界面,这就涉及到另一个话题——TP的模板定义与模板显示。这将会在下一篇的学习笔记中记录。