データベースの結果セットから配列を作成する正しい方法が見つからないようです。目的は、結果の配列を JSON 形式にフォーマットすることです。私が現在持っているのは、最初の結果を配列に入れるだけです。
配列 ( [タイトル] => ロック [カテゴリ] => ミネラル [id] => 39 )
JSONがエンコードされたときに取得しようとしているのは、
{"title":"ロック","category":"ミネラル","id":39}{"title":"ロック","category":"音楽","id":40}
コード
$squery = "%rock%";
$resultArray = array();
include_once("mysqli_connect.php");
$table = "articles";
$sql = "SELECT title, category, id
FROM $table
WHERE title LIKE ?";
$stmt = mysqli_stmt_init($dbh);
if (!(mysqli_stmt_prepare($stmt, $sql))) {
echo("Write to DB failed ");
}
else { //statement prepared ok
mysqli_stmt_bind_param($stmt, 's', $squery);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $sTitle, $sCat, $sId);
while(mysqli_stmt_fetch($stmt)) {
$resultArray = ["title" => $sTitle,
"category" => $sCat,
"id" => $sId];
}
mysqli_stmt_close($stmt);
}
echo(json_encode(array_unique($resultArray)));
スタックに同様の質問がいくつかあるのを見てきましたが、それらはオブジェクト指向スタイルで質問に答えているようです。現在、私は手続き型にしか精通していません。