我正在尝试显示存储在数据库中的一些数据,我有这个功能,但我不知道它是如何工作的:
public function resultToArray($result){
if(is_a($result, 'mysqli_result') && $result->num_rows > 0) {
$myArrayResult = array ();
while ($row = $result->fetch_assoc()) {
$myArrayResult[] = $row;
}
return ($myArrayResult);
}
else {
return ("Invalid Formart or Empty Result");
}
}
我怎么能在我的前端使用这个?我试过这种方法,但失败了。。。
$listar = new classes_DbManager;
$result ="Select * FROM jobs_offers";
$query = $listar->resultToArray($result);
if(mysqli_affected_rows>0){
echo $row['username'];
}
如果不查看自定义类的其余部分,我只能猜测您需要在检索结果之前执行该语句。从resultToArray
函数来看,它似乎正在调用mysqli_result
,这需要一个结果集才能工作。
在首先执行query
函数的classes_DbManager
类中搜索一些内容,它可能包含类似于$result = $mysqli->query("$sql_query")
的代码
我最好的猜测是它的使用需要这样的东西:
$listar = new classes_DbManager;
$query = "Select * FROM jobs_offers";
$result = $listar->executeQuery($query);
$query = $listar->resultToArray($result);
if(mysqli_affected_rows>0){
echo $row['username'];
}
我不知道这是什么ORM/数据库管理器,但你几乎做到了。您需要做的是首先实际运行查询。然后将结果传递给函数。
它看起来像这样:
$result = $listar->RUN_THE_QUERY("Select * FROM jobs_offers");
$result_set = $listar->resultToArray($result);
用实际运行/执行查询的方法替换RUN_THE_QUERY
之后,您将能够运行$result_set
并将其回显:
if(is_array($result_set)) {
foreach($result_set as $_result) {
echo $result['username'];
}
}
此方法(resultToArray)不运行查询,只从结果中返回关联数组。这个类应该有一个runQuery方法。