【发布时间】:2016-08-17 11:17:18
【问题描述】:
我有另一个 php 文件,它具有连接到数据库的功能(成功连接),还有一个包含 sql 语句的函数 getEvent。 下面的代码成功地从数据库中检索了一个数据行,但我需要它来返回表中的所有数据。
<?php
// include db connect class
require_once 'include/DB_Functions.php';
// connecting to db
$db = new DB_Functions();
// array for JSON response
$response = array();
// get all events from events table
$event = $db->getEvent();
// check for empty result
if($event !=FALSE){
$response["error"]=FALSE;
$response["uuid"] = $event["eventID"];
$response["eventdetails"]["title"] = $event["title"];
echo json_encode($response);
}else{
$response["error"]=TRUE;
$response["error_msg"] = "No events to display";
echo json_encode($response);
}
?>
getEvent 方法
public function getEvent(){
$stmt= $this->conn->prepare("SELECT * from eventdetails");
$stmt->execute();
$event= $stmt->store_result();
if ($stmt->execute()) {
$event = $stmt->get_result()->fetch_assoc();
$stmt->close();
return $event;
} else {
// events dont existed
$stmt->close();
return null;
}
【问题讨论】:
-
您的评论“从事件表中获取所有事件”似乎不正确,因为该函数似乎只返回一个事件。看起来您需要在
DB_Functions中创建一个函数,将所有事件作为数组获取。 -
你能给我一个如何将数据作为数组返回的例子吗?这是我现在正在使用的功能。 public function getEvent(){ $stmt= $this->conn->prepare("SELECT * from eventdetails"); $stmt->执行(); $event= $stmt->store_result(); if ($stmt->execute()) { $event = $stmt->get_result()->fetch_assoc(); $stmt->关闭();返回$事件; } else { // 事件不存在 $stmt->close();返回空值; }
-
这很困难,因为您还没有发布任何数据库代码。我什至不知道您使用的是 mysqli 还是 PDO,以及假设它是 mysqli 是过程接口还是面向对象的接口。 This answer 可能会有所帮助。
-
一点智能代码缩进也无妨!
-
在
getEvents()方法中整理您的想法。看起来你已经尝试了几乎所有的东西,除了显而易见的
标签: php android mysql listview wampserver