{"id":223,"date":"2024-09-22T15:03:54","date_gmt":"2024-09-22T07:03:54","guid":{"rendered":"\/?p=223"},"modified":"2024-10-05T14:08:55","modified_gmt":"2024-10-05T06:08:55","slug":"php","status":"publish","type":"post","link":"\/?p=223","title":{"rendered":"PHP"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">\u8bed\u6cd5<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\n?&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">API\u7684\u7f16\u5199<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\/\/\u5224\u65ad\u662f\u5426\u4e3a\u7a7a\nfunction Isnull($str){\n    return $str==null;\n};\n\/\/\u5224\u65ad\u662f\u5426\u5c0f\u4e8e6\nfunction Islenth($str){\n    return strlen($str)&lt;6;\n};\n\n\n$message = '';\n\n\/\/\u904d\u5386\u6570\u7ec4\nforeach(&#91;'user','password'] as $key =&gt; $value){\n    if(Isnull($_POST&#91;$value])){\n        $message = $value.'\u4e0d\u80fd\u4e3a\u7a7a';\n        break;\n    }\n    if($value =='password' &amp;&amp; Islenth($_POST&#91;$value])){\n        $message = $value.'\u4e0d\u80fd\u4e3a\u5c0f\u4e8e6\u4f4d';\n        break;\n    }\n};\n\n\/\/ 0 ok ; 1 error\n$formdata = &#91;\n    'cod' =&gt; 0,\n    \"msg\" =&gt; $message,\n    'data' =&gt; &#91;]\n];\n\nif($message != ''){\n    $formdata&#91;'cod'] = 1;\n}\n\/\/\u8fd4\u56deJSON\u683c\u5f0f\u7684\u6570\u636e\nprintf(json_encode($formdata,JSON_UNESCAPED_UNICODE));\n\n?&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">MySQL\u5c01\u88c5<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n  class PD{\n    public static $tablename;\n    public static $where='';\n    public static $pdo;\n    public static $stmt;\n    public static $page='';\n    public static $order='';\n    public function __construct(){\n      self::connent();\n    }\n\n    \/\/\u8fde\u63a5\u6570\u636e\u5e93\n    public static function connent(){\n      $config = require 'config.php';\n      $dsn=$config&#91;'dbms'].\":host=\".$config&#91;'host'].\";dbname=\".$config&#91;'dbName'];\n      try {\n        self::$pdo = new PDO($dsn,$config&#91;'user'],$config&#91;'pass']);\n        echo \"\u8fde\u63a5\u6210\u529f&lt;br\/>\";\n      } catch (PDOException $e) {\n        die (\"Error!: \" . $e->getMessage() . \"&lt;br\/>\");\n      }\n     }\n    \/\/ \u9009\u4e2d\u6570\u636e\u8868\n    public static function table($tablename){\n      self::$tablename = $tablename;\n      return new self();\n    }\n\n\n    \/\/\u67e5\u8be2\u6761\u4ef6\n    public function where(string $tablewhere){\n      $where = '';\n      if(!empty($tablewhere)){\n        \/\/where\u62fc\u63a5\n        $where = \"where \".$tablewhere;\n      }\n      self::$where = $where;\n      return $this;\n    }\n\n\n    \/\/\u589e\u6dfb\u6570\u636e\n    \/\/object->insert(array $data)\n    public function insert(array $data){\n      try {\n        $keys = array_keys($data);   \/\/\u83b7\u53d6\u6570\u7ec4key\u503c\n        $value = array_values($data);\/\/\u83b7\u53d6\u6570\u7ec4value\u503c\n        if(empty($data)){\n          throw new Exception('\u63d2\u5165\u6570\u636e\u4e0d\u80fd\u4e3a\u7a7a');\n        };\/\/\u4e3a\u7a7a\u629b\u51fa\u5f02\u5e38\n        $mysql = \"insert into \".self::$tablename.\" (\".implode(',',$keys).\") values (\".implode(',',$value).\");\";\n        \/\/implode(',',$keys)\u6570\u7ec4\u8f6c\u5b57\u7b26\u4e32\n        self::$stmt = self::$pdo->prepare($mysql);\n        self::$stmt->execute();\n        $result = self::$stmt->rowCount();\n        self::$stmt->closeCursor();\n        return $result;\n      } catch (PDOException $e) {\n        throw new Exception('ERROR'.$e);\n      }\n    }\n\n\n    \/\/\u5220\u9664\u6570\u636e\n    \/\/object->where(str)->delete()\n    public function delete(){\n      try {\n        if(empty(self::$where)){\n          throw new Exception('\u7f3a\u5c11where\u6761\u4ef6');\n        }\n        $mysql = \"delete from \".self::$tablename.\" \".self::$where.\";\";\n        self::$stmt = self::$pdo->prepare($mysql);\n        self::$stmt->execute();\n        $result = self::$stmt->rowCount();\n        self::$stmt->closeCursor();\n        return $result;\n      } catch (PDOException $e) {\n        throw new Exception('ERROR'.$e);\n      }\n    }\n\n\n    \/\/\u66f4\u6539\u6570\u636e\n    \/\/object->where(str)->update\n    public function updata(string $data){\n      try {\n        if(empty(self::$where)){\n          throw new Exception('\u7f3a\u5c11\u6761\u4ef6');\n        }\n        if(empty($data)){\n          throw new Exception('\u7f3a\u5c11\u4fee\u6539\u5185\u5bb9');\n        }\n        $mysql = \"update \".self::$tablename.\" set \".$data.\" \".self::$where.\";\";\n        return $mysql;\n      } catch (PDOException $e) {\n        throw new Exception('ERROR'.$e);\n      }\n    }\n\n    \/\/\u67e5\u8be2\u6570\u636e\n    \/\/object->where(str)->select(array)\n    public function select(array $data){\n      try {\n        if(empty($data)){\n          throw new Exception('\u7f3a\u5c11\u67e5\u8be2\u5185\u5bb9');\n        }\n        $mysql = \"select \".implode(',',$data).\" from \".self::$tablename.\" \".self::$where.\" \".self::$order.\" \".self::$page.\";\";\n        self::$stmt = self::$pdo->prepare($mysql);\n        self::$stmt->execute();\n        $result = self::$stmt->fetchall(PDO::FETCH_ASSOC);\n        self::$stmt->closeCursor();\n        return $result;\n      } catch (PDOException $e) {\n        throw new Exception('ERROR'.$e);\n      }\n    }   \n\n\n    \/\/\u9875\u6570\u67e5\u8be2\n    \/\/object->limit(array)\n    public function limit(array $page){\n      self::$page = \"LIMIT \".$page&#91;0].\",\".$page&#91;1];\n      return $this;\n    }\n\n\n    \/*\n    \u529f\u80fd:\u6392\u5e8f\u67e5\u8be2\n\n    \u65b9\u6cd5:name:\u6392\u5e8f\u8868\u540d\n         num :\u4e3a1\u65f6\u5347\u5e8f\uff0c\u4e3a2\u65f6\u964d\u5e8f\n\n    \u7528\u6cd5\uff1aobject->order(str,&#91;1,2])\n    *\/\n    public function order(string $name,int $num){\n      if($num==1){\n        self::$order = \"order by \".$name.\" \".\"asc\";\n      }\n      elseif($num==2){\n        self::$order = \"order by \".$name.\" \".\"desc\";\n      }\n      return $this;\n      \n    }\n\n  } \n\n\n\n  \/\/ phpinfo();\n    $te = new PD;\n    $text = $te::table(\"user\")->where(\"\")->limit(&#91;0,3])->select(&#91;\"username\",\"password\"]);\n    print_r($text);\n\n?><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u8bed\u6cd5 API\u7684\u7f16\u5199 MySQL\u5c01\u88c5<\/p>\n","protected":false},"author":1,"featured_media":240,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-223","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php"],"_links":{"self":[{"href":"\/index.php?rest_route=\/wp\/v2\/posts\/223"}],"collection":[{"href":"\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=223"}],"version-history":[{"count":3,"href":"\/index.php?rest_route=\/wp\/v2\/posts\/223\/revisions"}],"predecessor-version":[{"id":234,"href":"\/index.php?rest_route=\/wp\/v2\/posts\/223\/revisions\/234"}],"wp:featuredmedia":[{"embeddable":true,"href":"\/index.php?rest_route=\/wp\/v2\/media\/240"}],"wp:attachment":[{"href":"\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=223"},{"taxonomy":"post_tag","embeddable":true,"href":"\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}