我正在尝试从一个类中运行对 MySQL 数据库的查询,但由于某种原因它无法正常工作。我在一个单独的文件中有这个类,我用require_once()
函数链接到它。
这是主 .php 文件的样子:
<?php
require_once("connect.php");
require_once("theClass.php");
$a = new theClass;
$a->runQuery();
}
连接.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>";
}
}
};
我尝试将类复制到主 .php 文件中,但它仍然不起作用;但是,我在外部 .php 文件以及主 .php 文件中使用了完全相同的代码(查询、准备、执行、bind_result 和 fetch 部分),并且两次都有效。这使我相信您无法从类内部运行查询,或者有不同的方法可以这样做。谁能指出我正确的方向?
谢谢