찾다
백엔드 개발PHP 튜토리얼PHP 연산 PDO 처리 데이터 예

코드 직접 게시:

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

class App{
private static $pdo = null;

/**
 * @获取数据库配置
 * @return array
 */
public static function getConfig(){
    if($_SERVER[&#39;SERVER_NAME&#39;] == &#39;www.app.com&#39;){
        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 class="brush:php;toolbar:false">
"; print_r($arr); } } ?>

사용:

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

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

//구성 항목 가져오기
$config = DownLoad : :getConfig();

//pdo 객체 초기화
DownLoad::getPdo($config);


//기록 쿼리
$ data = DownLoad::query("SELECT * FROM `mh_app_update` WHERE status=1 AND os_type=:type ORDER BY 코드 DESC LIMIT 1",[":type"=>$type],true);

//결과 인쇄

DownLoad::p($data);

이상에서는 관련 내용을 포함하여 PDO를 사용하여 PHP에서 데이터를 처리하는 방법에 대한 예제를 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
python中CURL和python requests的相互转换如何实现python中CURL和python requests的相互转换如何实现May 03, 2023 pm 12:49 PM

curl和Pythonrequests都是发送HTTP请求的强大工具。虽然curl是一种命令行工具,可让您直接从终端发送请求,但Python的请求库提供了一种更具编程性的方式来从Python代码中发送请求。将curl转换为Pythonrequestscurl命令的基本语法如下所示:curl[OPTIONS]URL将curl命令转换为Python请求时,我们需要将选项和URL转换为Python代码。这是一个示例curlPOST命令:curl-XPOSThttps://example.com/api

Linux下更新curl版本教程!Linux下更新curl版本教程!Mar 07, 2024 am 08:30 AM

在Linux下更新curl版本,您可以按照以下步骤进行操作:检查当前curl版本:首先,您需要确定当前系统中安装的curl版本。打开终端,并执行以下命令:curl--version该命令将显示当前curl的版本信息。确认可用的curl版本:在更新curl之前,您需要确定可用的最新版本。您可以访问curl的官方网站(curl.haxx.se)或相关的软件源,查找最新版本的curl。下载curl源代码:使用curl或浏览器,下载您选择的curl版本的源代码文件(通常为.tar.gz或.tar.bz2

PHP8.1发布:引入curl多个请求并发处理PHP8.1发布:引入curl多个请求并发处理Jul 08, 2023 pm 09:13 PM

PHP8.1发布:引入curl多个请求并发处理近日,PHP官方发布了最新版本的PHP8.1,其中引入了一个重要的特性:curl多个请求并发处理。这个新特性为开发者提供了一个更加高效和灵活的方式来处理多个HTTP请求,极大地提升了性能和用户体验。在以往的版本中,处理多个请求往往需要通过创建多个curl资源,并使用循环来分别发送和接收数据。这种方式虽然能够实现目

C语言return的用法详解C语言return的用法详解Oct 07, 2023 am 10:58 AM

C语言return的用法有:1、对于返回值类型为void的函数,可以使用return语句来提前结束函数的执行;2、对于返回值类型不为void的函数,return语句的作用是将函数的执行结果返回给调用者;3、提前结束函数的执行,在函数内部,我们可以使用return语句来提前结束函数的执行,即使函数并没有返回值。

从头到尾:如何使用php扩展cURL进行HTTP请求从头到尾:如何使用php扩展cURL进行HTTP请求Jul 29, 2023 pm 05:07 PM

从头到尾:如何使用php扩展cURL进行HTTP请求引言:在Web开发中,经常需要与第三方API或其他远程服务器进行通信。而使用cURL进行HTTP请求是一种常见而强大的方式。本文将介绍如何使用php扩展cURL来执行HTTP请求,并提供一些实用的代码示例。一、准备工作首先,确保php已安装cURL扩展。可以在命令行执行php-m|grepcurl查

PHP Curl中如何处理网页的 301 重定向?PHP Curl中如何处理网页的 301 重定向?Mar 08, 2024 am 11:36 AM

PHPCurl中如何处理网页的301重定向?在使用PHPCurl发送网络请求时,时常会遇到网页返回的301状态码,表示页面被永久重定向。为了正确处理这种情况,我们需要在Curl请求中添加一些特定的选项和处理逻辑。下面将详细介绍在PHPCurl中如何处理网页的301重定向,并提供具体的代码示例。301重定向处理原理301重定向是指服务器返回了一个30

Java中return和finally语句的执行顺序是怎样的?Java中return和finally语句的执行顺序是怎样的?Apr 25, 2023 pm 07:55 PM

源码:publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#输出上述代码的输出可以简单地得出结论:return在finally之前执行,我们来看下字节码层面上发生了什么事情。下面截取case1方法的部分字节码,并且对照源码,将每个指令的含义注释在

linux curl是什么linux curl是什么Apr 20, 2023 pm 05:05 PM

在linux中,​curl是一个非常实用的、用来与服务器之间传输数据的工具,是一个利用URL规则在命令行下工作的文件传输工具;它支持文件的上传和下载,是综合传输工具。curl提供了一大堆非常有用的功能,包括代理访问、用户认证、ftp上传下载、HTTP POST、SSL连接、cookie支持、断点续传等等。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경