总结
豆包 AI 助手文章总结

php操作PDO处理数据实例

php中文网
发布: 2016-07-28 08:29:11
原创
1535人浏览过

直接贴代码:

<?php
if(!defined("APP")){
    exit("No direct script access allowed");
}

class App{
private static $pdo = null;

/**
 * @获取数据库配置
 * @return array
 */
public static function getConfig(){
    if($_SERVER['SERVER_NAME'] == 'www.app.com'){
        return array(
            "host" => "127.0.0.1",
            "user" => "root",
            "password" => "root",
            "dbname" => "app",
            "apiurl"=>"http://127.0.0.1:2348/api/v1/saveUserIPInfo"
        );
    }else{
        return array(
            "host" => "192.168.145.190",
            "user" => "root",
            "password" => "root",
            "dbname" => "app",
            "apiurl"=>"http://192.168.145.190:2348/api/v1/saveUserIPInfo"
        );
    }
}

/**
 * @模拟get请求
 * @param $url
 * @return mixed|string
 */
public static function httpGet($url){
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_TIMEOUT,1000);
    curl_setopt($ch,CURLOPT_HEADER,0);
    $res = "";
    $res = curl_exec($ch);
    curl_close($ch);
    return $res;
}

    /**
     * @模拟post请求
     * @param $url
     * @param array $query
     * @param array $header
     * @return mixed
     */
public static function httpPost($url,$query=array(),$header=array("Content-Type" =>"application/x-www-form-urlencoded")) {
    $ch =curl_init();
    $query = http_build_query($query);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
    curl_setopt($ch, CURLOPT_POST, true );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_SSLVERSION, 1);
    $ret = curl_exec($ch);
    curl_close($ch);
    return $ret;
}

/**
 * @ 获取数据库连接对象
 * @param $config
 * @return null|PDO
 */
public static function getPdo($config){
    $dsn = "mysql:host=".$config["host"].";dbname=".$config['dbname'];
    //echo $dsn."<br/>";
    if(empty(self::$pdo)){
        try{
            self::$pdo = new PDO($dsn,$config["user"],$config["password"]);
            //echo "connect ok";
        }catch(PDOException $e){
            exit("connection failed,please check");
            //echo $e->getMessage();
        }
    }
    return self::$pdo;
}

/**
 * @查询sql语句
 * @param $sql
 * @param $params
 * @param bool $fetch true则获取查询结果
 * @return array
 */
public static function query($sql,$params,$fetch = false){
    if(empty(self::$pdo)){
        exit("<br/>instance pdo first");
    }
    $res = self::$pdo->prepare($sql);
    foreach($params as $k => $v){
        //echo $k." bind ".$v."<br/>";
        $res->bindValue($k,$v);
    }
    $res->execute();
    if($fetch){
        $retData =array();
        while($row = $res->fetch(PDO::FETCH_ASSOC)){
          array_push($retData,$row);
        }
        return $retData;
    }
}

 /**
* @解析get请求的参数
* @return array
*/
public static function parseQueryInfo(){
    $retData = [];
    parse_str($_SERVER["QUERY_STRING"],$apiParam);
    foreach ($apiParam as $k => $v){
        $apiParam[urlencode($k)] = urlencode($v);//中文转码
    }
    $retData["ip"] = $_SERVER["REMOTE_ADDR"];
    $retData["shareInfo"] = urldecode(json_encode($apiParam));//处理中文解码
    return $retData;
}


/**
 * @打印数组
 * @param $arr
 */
public static function p($arr){
    echo "<pre/>";
    print_r($arr);
}

}



?>
登录后复制

使用:

define("APP","READY");
require_once "common.php";

$type = isset($_GET['type']) ? $_GET['type'] : 0;

//获取配置项
$config = DownLoad::getConfig();

立即学习PHP免费学习笔记(深入)”;

//初始化pdo对象
DownLoad::getPdo($config);


//查询记录
$data = DownLoad::query("SELECT * FROM `mh_app_update`  WHERE status=1 AND os_type=:type  ORDER BY code DESC LIMIT 1",[":type"=>$type],true);

//打印结果

DownLoad::p($data);

以上就介绍了 php操作PDO处理数据实例,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号