我正在尝试显示存储在数据库中的一些数据,我有这个功能,但我不知道它是如何工作的:
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'];
}
答案 0 :(得分:0)
我不知道这是什么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'];
}
}
答案 1 :(得分:0)
没有查看自定义类的其余部分,我只能猜测您需要在检索结果之前执行该语句。在您的resultToArray
功能中,看起来它正在调用mysqli_result
,这需要一个结果集才能正常工作。
首先在classes_DbManager
类中搜索执行query
函数的内容,它可能包含类似$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'];
}
答案 2 :(得分:0)
此方法(resultToArray)不运行查询,这只返回结果中的关联数组。这个类应该有一个runQuery方法。