首页 > 开发 > PHP > 正文

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

2024-05-04 22:49:12
字体:
来源:转载
供稿:网友

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

MyPdo.php

<?phpclass 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().'<br>';      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 "<h1>$str<h1/>";    exit();  }}

ShowMessage.php

<?phpinclude("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']."<br>";}?><a href="AddMessage.php" rel="external nofollow" >添加留言</a>

AddMessage.php

<form action="CheckAdd.php" method="post">  标题:<input type="text" name="title"><br>  内容:<input type="text" name="content"><br>  <input type="submit" value="提交"></form>

CheckAdd.php

<?phpinclude("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");            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表