0

これにより適切な結果が得られますが、個々の変数を各フィールドにバインドするのではなく、結果の行を配列に入れたいので、$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を使用するかどうかに関係なく、解決策は問題ありません。

4

1 に答える 1

1

fetch_assocを使用するには、get_resultsを使用する必要があります。これにより、実行したくないと思われるバインドを使用しないように強制されます。したがって、あなたがやりたいことは、bind_result関数のphpドキュメントのユーザーuramihsayibokによって、特にここでかなりよく説明されていると思います:http: //php.net/manual/en/mysqli-stmt.bind-result.php#92505。結果を配列に入れるためにそれを回避する方法を説明します。

于 2012-06-21T12:05:06.413 に答える