mysql データからデータを取得し、そこからオブジェクトを作成しようとしています。ここで私はいくつかのコードを書きました。データベースから物事の詳細を取得しています。結果ごとに、最終的に配列出力とマージされるオブジェクトを作成する必要があります。この$output
配列は、最終的にjsonとして出力されます。
エラーが発生しています:
array_merge(): Argument #2 is not an array
PHP でオブジェクトの配列を作成する方法は?
public function getDetails() //This is a class function
{
$query = "SELECT * FROM `thing` WHERE `id` = :thingId";
$stmt = $dbh->prepare ( $query );
$stmt->bindParam ( ":thingId" , $_GET['thingId'] );
$stmt->execute ( );
$rslt = $stmt->fetch ( );
$thingName = $rslt['name'];
$thingOwnerId = $rslt['userId'];
$thingDescription = $rslt['thingDescription'];
// Getting the thing owner details
$query = "SELECT * from `user` WHERE ( `id` = :id ) ";
$stmt = $dbh->prepare( $query );
$stmt->bindParam ( ":id" , $thingOwnerId );
$stmt->execute( );
$rslt = $stmt->fetch ( );
$thingOwnerName = $rslt['firstName']." ".$rslt['lastName'];
}
$query = "SELECT * FROM `things` ; ";
$s = $dbh->prepare($query);
$s->execute();
$r = $s->fetchAll();
foreach($r as $r1)
{
$newThing = new Thingy($r1['id']);
$newThing->getDetails();
$output = array_merge($output,$newThing);
}
$output2 = json_encode($output);
header('content-type: application/json');
echo $output2;