ホームページ >PHPフレームワーク >Swoole >Swooleとmysqlの使い方

Swooleとmysqlの使い方

angryTom
angryTomオリジナル
2020-03-14 10:28:062742ブラウズ

Swooleとmysqlの使い方

swoole と mysql の使い方

swoole は MySQL の非同期操作に適しています。

非同期 mysql を使用する利点:

コード ブロッキングを防止し、コード効率を向上させる

該当する機会:

1. 共有リソースが関与していないか、共有リソースは読み取り専用、つまり非相互排他的な操作です。

2. タイミングには厳密な関係はありません

3. いいえアトミック操作が必要であるか、または渡すことができます アトミック性を制御するその他の方法

4. カスタマー エクスペリエンスやパフォーマンスに影響するため、IO 操作などの時間のかかる操作によく使用されます

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中国語の Web サイト、多数の

Web サイト構築チュートリアル 、学習へようこそ!

以上がSwooleとmysqlの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。