输出1/0的差异工具//是/否

时间:2017-03-10 10:51:36

标签: php mysql json

我正在寻找一个工具!PHP!这将返回一个数组或只是一些东西,如果有任何变化我可以查找。

用于从MySQL获取数据将其转换为JSON文件,如果JSON文件与MySQL输出不同,则该文件应该是新生成的。

所以我只需要输入一个函数或其他东西,如果进行了更改,(是/否)执行X.

你们知道任何适用于我的想法的工具吗?

感谢您帮助我。

1 个答案:

答案 0 :(得分:0)

你的问题很模糊,但如果我理解正确,这是一个想法:

<?php 
class Tool {
  var $db; // you will have to provide a valid db connection

  function __construct (& $db) {
   $this->db = $db;
  }

  public function execute ($query, $file){
    $arr = $this->fetch($query);
    $dbJSON = json_encode($arr);

    $fileJSON = file_get_contents($file);

    if( md5($dbJSON) != md5($fileJSON) ){
      $this->write($dbJSON, $file);
    }
  }

  protected function fetch($sql) {
    $arr = array();
    $result = $this->db->query($sql);
   if($result){
     // Cycle through results
     while ($row = $result->fetch_object()){
       $arr[] = $row;
     }
     // Free result set
     $result->close();
   }
   return $arr;
  }

  protected function write ($content, $file) {
    $fp = fopen('w+', $file);
    fwrite($fp, $content);
    fclose($fp);
  } 
}

&GT;

和一个用例:

<?php
  $db = new mysqli('localhost','user','pass','database');

  // Check for errors
  if(mysqli_connect_errno()){
    echo mysqli_connect_error();
  }else{
    $tool = new Tool($db);
    $tool->execute('SELECT * FROM users','/com/user.json');
  }
?>