これにより適切な結果が得られますが、個々の変数を各フィールドにバインドするのではなく、結果の行を配列に入れたいので、$row[0]
やなどのフィールドにアクセスできます$row["name"]
。
$idToSearch = 2;
$conn = new mysqli("localhost", "username", "password", "db_people");
$statement = $conn->prepare("SELECT name, age from People where id = ?");
$statement->bind_param("i", $idToSearch);
$statement->execute();
$statement->bind_result($name, $age);
if($statement->fetch()) {
echo "The name is $name and the age is $age. ";
} else {
echo "No person found with that id.";
}
fetch_assoc()についての例を見ましたが、使用するのがホットかどうかわからないmysqli_resultクラスと、使用したくない準備されていないステートメントを使用していました。
編集:明確にするために、bind_resultを使用するかどうかに関係なく、解決策は問題ありません。