mysqli superglobal bağlantı nesnesi, aynı anda birden fazla bağlantı

0 Cevap php

Ben bir süper küresel mysqli bağlantı almak için bu çözüm kullanarak oldum:

class blst_db {
private static $mysqli;
private function __construct(){} //no instantiation

static function cxn() {
    if( !self::$mysqli ) {
        self::$mysqli = new mysqli(...);
    }
    return self::$mysqli;
 }        

//use blst_db::cxn()->prepare(....

Ben buldum here ve gayet iyi çalışıyordu ama ben aynı anda iki bağlantı almaya çalıştığınızda bir hata alıyorum. Örneğin, ben bu gibi bir sorgu çalıştırır, bir sınıf var:

$query_points = blst_db::cnx()->prepare('SELECT point_id FROM points WHERE id=?');
$query_points->bind_param('i', $this->id);
$query_points->bind_result($point_id);
$query_points->execute();
while ($query_points->fetch()) {
     $point = new blst_point ($point_id);
     $points[] = $point;  }

Ben ise deyimi içinde çeşitli nesnelerin kuruyorum ve bu yapıcı başka bir sorgu, her zaman çalışır nesneleri (başka $ sorgu = blst_db :: cnx->) ... (hazırlamak) ve çalışmayan biri ve ben yapamam sorunu bulmak. Ben kodu değiştirebilir ve süre deyimi içinde bir dizi oluşturmak ve sonra, bu sorguyu kapattıktan sonra, ben bir foreach içindeki tüm nesneleri oluşturmak Eğer ben hiçbir sorun olsun ama ben bu çözüm sevmiyorum.

Teşekkür ederiz!

0 Cevap