> PHP 프레임워크 > Swoole > 스울과 mysql을 사용하는 방법

스울과 mysql을 사용하는 방법

angryTom
풀어 주다: 2020-03-14 10:28:06
원래의
2735명이 탐색했습니다.

스울과 mysql을 사용하는 방법

Swoole 및 mysql 사용 방법

swoole은 MySQL의 비동기 작업에 더 좋습니다.

비동기 mysql 사용의 이점:

코드 차단 방지 및 코드 효율성 향상

적용 가능한 경우:

1 공유 리소스가 관련되지 않거나 공유 리소스가 읽기 전용입니다. 배타적 연산

2. 타이밍에 엄격한 관계가 없습니다

3. 원자성 연산이 필요하지 않거나 다른 방식으로 원자성을 제어할 수 있습니다

4. 고객 경험 및 성능

5. 영향 없음 메인 스레드 로직

추천 학습: MySQL 비디오 튜토리얼

코드 샘플:

<?php
class mysql {
    private $param;
    public $db;
    public function __construct() {
        $this->db = new swoole_mysql;
        $this->param = array(
            &#39;host&#39; => &#39;127.0.0.1&#39;,
            &#39;user&#39; => &#39;root&#39;,
            &#39;password&#39; => &#39;123&#39;,
            &#39;database&#39; => &#39;test&#39;,
        );
    }

    public function exec($sql) {
        $this->db->connect($this->param, function ($db, $result) use ($sql) {
            if ($result === false) {
                echo "连接数据库失败 : 错误代码:" . $db->connect_errno . PHP_EOL . $db->connect_error;
                return false;
            }
            $db->query($sql, function ($db, $res) {
                if ($res === false) {
                    // error属性获得错误信息,errno属性获得错误码 
                    echo "sql语句执行错误 : " . $db->error;
                } else if ($res === true) {
                    // 非查询语句  affected_rows属性获得影响的行数,insert_id属性获得Insert操作的自增ID 
                    echo "sql语句执行成功,影响行数 : " . $db->affected_rows;
                    
                } else {
                    //查询语句  $result为结果数组 
                    var_dump($res);
                    
                }
                $db->close();
            });
        });
    }
}

$mysql = new mysql();
로그인 후 복사

PHP 중국어 웹사이트, 다수의 웹사이트 구축 튜토리얼 배우다!

위 내용은 스울과 mysql을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿