Mysql
 sql >> Baza danych >  >> RDS >> Mysql

zapytanie bazy danych mysql z wnętrza klasy

Przekaż go do samej metody

Musisz przekazać obiekt bazy danych do metody, ponieważ nie znajdują się one w tym samym zakresie:

function runQuery($mysqli)

i nazwij to jak

$a = new theClass;
$a->runQuery($mysqli);

Przekaż go konstruktorowi

Jeśli twoja klasa wykonuje wiele wywołań bazy danych, możesz po prostu przekazać ją w konstruktorze i zapisać jako zmienną prywatną do późniejszego wykorzystania:

class theClass
{
  private $mysqli;

  function __construct($mysqli) {
    $this->mysqli = $mysqli;
  }

  function runQuery()
  {
    $query = "SELECT col_1 FROM db.table";
    $stmt = $this->mysqli->prepare($query);
    stmt->execute();
    $stmt->bind_result($r);

    while($stmt->fetch())
    {
      echo $r . "<br>";
    }
  }
};

i nazwij to jak

$a = new theClass($mysqli);
$a->runQuery();

Obie metody jasno pokazują, że zależnością Twojej klasy jest obiekt mysqli, co jest dobre dla przyszłej konserwacji i czytelności.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PyInstaller, plik spec, ImportError:brak modułu o nazwie „blah”

  2. Problem z kodowaniem zestawu znaków

  3. To przygotowane oświadczenie PDO zwraca wartość fałsz, ale nie powoduje błędu

  4. Połączenie z mysql z netbeans dla jsp

  5. Integracja z innym systemem