0
我已经实现了这一点,它如预期中的函数返回一个数组,像这样:你如何返回一个数组,而不是一个对象
public function get_events()
{
$query = "SELECT * FROM events;";
if($stmt = mysqli_prepare($this->Database, $query))
{
mysqli_stmt_bind_param($stmt, "s", $param);
mysqli_stmt_execute($stmt);
$resultObject = mysqli_stmt_get_result($stmt);
mysqli_stmt_close($stmt);
}
$myArray = array();
$size = mysqli_num_rows($resultObject);
for($i = 0; $i < $size; $i++)
{
$myArray[$i] = mysqli_fetch_array($resultObject, MYSQLI_ASSOC);
}
echo '<pre>';
print_r($myArray);
}
/* CALL */
$Events = new Events();
$Events->get_events();
数组显示为我所期望的。
然而,当我将其设置为 '回归$ myarray的',而不是 'print_r的',并再次调用该函数返回的是:
/* CALL */
$Events = new Events();
$Events->get_events();
echo '<pre>';
print_r($Events);
这是返回 - >
Events Object
(
[Database] => mysqli Object
(
[affected_rows] => -1
[client_info] => mysqlnd 5.0.11-dev - 20120503 - $Id: f373ea5dd5538761406a8022a4b8a374418b240e $
[client_version] => 50011
[connect_errno] => 0
[connect_error] =>
[errno] => 0
[error] =>
[error_list] => Array
(
)
[field_count] => 10
[host_info] => localhost via TCP/IP
[info] =>
[insert_id] => 0
[server_info] => 5.6.21
[server_version] => 50621
[stat] => Uptime: 100448 Threads: 1 Questions: 1057 Slow queries: 0 Opens: 124 Flush tables: 1 Open tables: 83 Queries per second avg: 0.010
[sqlstate] => 00000
[protocol_version] => 10
[thread_id] => 186
[warning_count] => 0
)
我希望能够返回一个数组,以便我可以在多个实例中使用该查询。而不是在函数中回显html,并且必须在其他地方对相同的数据重复相同的查询。
您正在打印的对象$事件,如果你想你可以print_r($ events-> get_events())或者只是把它放在一个变量。 – ClearBoth