requête de base de données mysql à partir de l'intérieur de la classe

Je suis en train de lancer une requête à une base de données MySQL à partir de l'intérieur d'une classe et il ne fonctionne pas pour une raison quelconque. J'ai la classe dans un fichier séparé qui je suis un lien avec le require_once() fonction.

voici ce que le principal .php fichier ressemble à ceci:

<?php
  require_once("connect.php");
  require_once("theClass.php");

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

connect.php:

<?php
//connect to mySQL database
$mysqli = new mysqli("host", "user", "password", "db");
if ($mysqli->connect_errno)
{
    echo "<br><h1>Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error . "</h1><br>";
}

theClass.php:

<?php
require_once('connect.php');

class theClass
{
  //class variables and other functions here

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

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

J'ai essayé de copier le classe dans la main .fichier php et ça ne fonctionne toujours pas; cependant, j'ai utilisé exactement le même code( la requête, la préparation, l'exécution, bind_result, et de récupérer une partie) dans un externe .fichier php comme à l'intérieur de la main .fichier php et il a travaillé deux fois. Cela me mène à croire que vous n'êtes pas en mesure d'exécuter des requêtes à partir de l'intérieur de la classe ou qu'il existe une autre manière d'agir de la sorte. Quelqu'un pourrait-il me diriger dans la bonne direction?

Grâce

Il est intéressant de noter que mon connect.php fichier a la bonne information et de travail parce que j'ai été en mesure d'exécuter des requêtes dans d'autres .les fichiers php

OriginalL'auteur Logan Besecker | 2012-10-19