Mysql
 sql >> база данни >  >> RDS >> Mysql

заявете mysql база данни от вътре в клас

Прехвърлете го на самия метод

Трябва да предадете обекта на базата данни на метода, защото те не са в същия обхват:

function runQuery($mysqli)

и го наречете като

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

Предаде го на конструктора

Ако вашият клас прави много извиквания на база данни, можете просто да го предадете в конструктора и да го запишете като частна променлива за по-късна употреба:

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>";
    }
  }
};

и го наречете като

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

И двата метода ясно показват, че зависимостта на вашия клас е mysqli обект, което е добро за бъдеща поддръжка и четливост.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете артикули от различни източници и подредете по дата

  2. php pdo получава само една стойност от mysql; стойност, равна на променлива

  3. връща средна стойност на броя на записите след група по изявление

  4. Изключете предупреждението за опасни изявления на mysql

  5. C#, проблеми с получаването на двойни стойности от базата данни MySQL