php留言板示例,php+Memcached实现简单留言板功能示例

本文实例讲述了php+Memcached实现简单留言板功能。分享给大家供大家参考,具体如下:

MyPdo.php

class MyPdo{

private $pdo;

function __construct()

{

$this->pdo = $this->getPdo();

}

/**

* CreatePDO

*

* @return PDO

*/

public function getPdo()

{

$dbms='mysql';

$dbName='testdb';

$user='root';

$pwd='diligentyang';

$host='localhost';

$dsn="$dbms:host=$host;dbname=$dbName";

try{

$pdo=new PDO($dsn,$user,$pwd);

}catch(Exception $e){

echo $e->getMessage().'
';

exit();

}

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$pdo->exec("set names utf8");

return $pdo;

}

/**

* Execute SQL

*

* @param string $sql Sql

* @param string $mode Mode

*

* @return mixed

*/

function query($sql = "", $mode = "array")

{

$sql = trim($sql);

if ($sql == "") {

$this->showErrors("the mothe query neet at least one param!");

}

$query = $this->pdo->query($sql);

if (!$query) {

$this->showErrors("the sql string is false");

}

if (strpos(strtolower($sql), "select") ===false) {

return $query;

}

switch ($mode) {

case 'array' :

$res = $query->fetchAll(PDO::FETCH_ASSOC);

break;

case 'object' :

$res = $query->fetchObject();

break;

case 'count':

$res = $query->rowCount();

break;

default:

$this->showErrors("SQLERROR: please check your second param!");

}

return $res;

}

/**

* 提示错误

*

* @param string $str 错误提示内容

*/

public function showErrors($str)

{

echo "

$str

";

exit();

}

}

ShowMessage.php

include("MyPdo.php");

//连接Memcached服务器

$m = new Memcached();

$m->addServer('127.0.0.1',11211);

//获取Memcached中的list

$res = $m->get("list");

//如果没有数据,则从数据库中查出,并放入Memcached中,如果有数据则直接输出

if(!$res){

$MyPdo = new MyPdo();

$res = $MyPdo->query("select * from message","array");

$m->set('list',$res,3600);

}

foreach($res as $val){

echo $val['title']."-------".$val['content']."
";

}

?>

添加留言

AddMessage.php

标题:

内容:

CheckAdd.php

include("MyPdo.php");

//连接Memcached服务器

$m = new Memcached();

$m->addServer('127.0.0.1',11211);

$title = $_POST['title'];

$content = $_POST['content'];

$MyPdo = new MyPdo();

$res = $MyPdo->query("insert into message(title,content) values('$title','$content')");

if($res){//如果insert语句执行成功则清除Memcache中的缓存

$m->delete("list");

}

header("location:ShowMessage.php");

运行结果如下所示:

77a63ba8a9f08c3e6d7adeadbdcfcdd9.png

93c809aa0e6c25b6b6875c7cbf95e6ba.png

注:此例子只是简单实现了,留言列表和添加留言功能,需要注意的是,如果对数据库的数据有了添加或修改,需要清除缓存,然后重新缓存一下,已保证数据显示同步。

希望本文所述对大家PHP程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值