Я пытаюсь поместить часто используемый метод (opendb) в том же классе, и файл в моем файле конфигурации подключения (connect.php) Смотрите рисунок AМетоды класса над различными файлами
class qcon{
public static $conn;
function dbcon()
{
if (empty($conn))
{
$host = 'x';
$username = 'x';
$password = 'x';
$dbname = 'x';
$conn = mysqli_connect($host , $username , $password ,$dbname) or die("Oops! Please check SQL connection settings");
}
return $conn;
}
function openDB($conn)
{
if (!$conn)
{
$this->error_msg = "connection error could not connect to the database:! ";
return false;
}
$this->conn = $conn;
return true;
}
Теперь я хочу быть в состоянии передать вывод соединения на рисунке A, чтобы я мог правильно использовать методы в другом файле класса. Назовите его class.php. Вот одна примерная функция на class.php для просмотра записей. См. Рис. B
require_once("assets/configs/connect.php");
class dbcats {
var $conn;
function getResult(){
$result = mysqli_query($this->conn , "SELECT * from felines");
if ($result) {
return $result;
}
else {
die("SQL Retrieve Error: " . mysqli_error($this->conn));
}
}
function closeDB() {
mysqli_close($this->conn);
}
Теперь, чтобы получить звонок на работу, рис. C ниже, где я нахожусь. Я немного застрял.
$db1 = new qcon();
$helper = new dbcats();
$db1->openDB();
$helper = $db1;
$result = $helper->getResult();
Итак, вот мы и находимся. Логика достаточно проста (я обновлю вопрос, если я не совсем понятен). Так кто-нибудь посоветует, какие поправки мне нужно, чтобы вызвать звонок?
Вы пытаетесь сделать '$ conn' из' qcon-> openDB ($ conn) 'доступным для области звонящего? – Cypher
Только некоторые подсказки: используйте интерфейс объекта mysqli, это избавит вас от некоторых строк и слов кода. И установите режим ошибок mysqli для исключения исключений, тогда вам не нужно писать столько кода обработки ошибок. - По твоему вопросу я должен признать, что не понял, что ты имеешь в виду. – hakre
@cypher Да, я хочу, чтобы переменная соединения ($ conn) была доступна для области другого класса (class.php), поэтому я могу использовать методы. –