mysqli_query() 関数を呼び出す SQL ステートメントの実行方法について説明しました。データベース情報はすでにクエリされていますが、日々の開発では、必要な情報を取得するために結果を処理する必要があります。次に、PHP で結果を処理するために一般的に使用されるいくつかの関数を見てみましょう。
<strong>mysqli_fetch_row()<span style="font-size: 20px;"></span></strong>
関数
mysqli_result::fetch_row()
mysqli_fetch_row(mysqli_result $result)
mysqli_result と
$result は、mysqli_query() 関数を使用して取得された結果セットとして表されます。
<?php $host = 'localhost'; $username = 'root'; $password = 'root'; $dbname = 'test'; $mysql = new Mysqli($host, $username, $password, $dbname); if($mysql -> connect_errno){ die('数据库连接失败:'.$mysql->connect_errno); }else{ $sql = 'select name,sex,age from user'; // SQL 语句 $result = $mysql -> query($sql); // 执行上面的 SQL 语句 $data = $result -> fetch_row(); $mysql -> close(); } echo '<pre class="brush:php;toolbar:false">'; print_r($data); ?>
<strong>mysqli_fetch_assoc()<span style="max-width:90%"></span></strong>
関数
mysqli_result::fetch_assoc()
mysqli_fetch_assoc(mysqli_result $result)
mysqli_result および
$result は、mysqli_query() 関数を使用して取得された結果セットとして表されます。
<?php $host = 'localhost'; $username = 'root'; $password = 'root'; $dbname = 'test'; $link = @mysqli_connect($host, $username, $password, $dbname); if($link){ $sql = 'select name,sex,age from user'; // SQL 语句 $result = mysqli_query($link, $sql); // 执行 SQL 语句,并返回结果 $data = mysqli_fetch_assoc($result); // 从结果集中获取一条数据 mysqli_close($link); }else{ echo '数据库连接失败!'; } echo '<pre class="brush:php;toolbar:false">'; print_r($data); ?>
上記の例から、mysqli_fetch_assoc() 関数を通じてデータベース内の情報行を正常に取得し、それを連想配列を通じて返しました。また、関数を通じて返されるデータの形式を制御して、インデックス配列、連想配列、またはその両方の組み合わせにすることもできます。この場合は、mysqli_fetch_array() 関数を使用します。
<strong>mysqli_fetch_array()<span style="max-width:90%"></span></strong>
関数
mysqli_result::fetch_array([int $resulttype = MYSQLI_BOTH])
mysqli_fetch_array(mysqli_result $result[, int $resulttype = MYSQLI_BOTH])
および $result
は、mysqli_query() 関数を使用して取得された結果セットとして表されます。
はオプションのパラメータです。戻り値のタイプを設定するために使用される定数です。その値は MYSQLI_ASSOC
、 MYSQLI_NUM
または MYSQLI_BOTH
は、さまざまなタイプの戻り値を示します。
<?php $host = 'localhost'; $username = 'root'; $password = 'root'; $dbname = 'test'; $link = @mysqli_connect($host, $username, $password, $dbname); if($link){ $sql = 'select name,sex,age from user'; // SQL 语句 $result = mysqli_query($link, $sql); // 执行 SQL 语句,并返回结果 $data = mysqli_fetch_array($result, MYSQLI_ASSOC);// 从结果集中获取所有数据 mysqli_close($link); }else{ echo '数据库连接失败!'; } echo '<pre class="brush:php;toolbar:false">'; print_r($data); ?>
出力結果:
上記の例では、連想配列の形式でデータを返すことを選択しましたが、mysqli_fetch_array() 関数を通じてさまざまなタイプの戻り値を選択できます。
mysqli_fetch_all() <strong><span style="max-width:90%"></span></strong>
関数mysqli_fetch_all() 関数結果セット内のすべてのデータを取得し、パラメーターに従って連想配列、インデックス配列、またはその両方の形式で返すことができます。その構文形式は次のとおりです:
mysqli_result::fetch_all([int $resulttype = MYSQLI_NUM])
This is object-記述方法:
mysqli_fetch_all(mysqli_result $result [, int $resulttype = MYSQLI_NUM])
注意すべき点: 構文は mysqli_fetch_array() 関数と同じです
$result mysqli_query() 関数を使用して取得された結果セットとして表されます。
$resulttype
为可选参数,它是一个常量,用来设定返回值的类型,它的取值可以是 MYSQLI_ASSOC
、MYSQLI_NUM
或 MYSQLI_BOTH
表示返回值的不同类型。
接下来通过示例来看一下mysqli_fetch_all() 函数的使用,示例如下:
<?php $host = 'localhost'; $username = 'root'; $password = 'root'; $dbname = 'test'; $mysql = new Mysqli($host, $username, $password, $dbname); if($mysql -> connect_errno){ die('数据库连接失败:'.$mysql->connect_errno); }else{ $sql = 'select name,sex,age from user'; // SQL 语句 $result = $mysql -> query($sql); // 执行上面的 SQL 语句 $data = $result -> fetch_all(MYSQLI_ASSOC); $mysql -> close(); } echo '<pre class="brush:php;toolbar:false">'; print_r($data); ?>
输出结果:
上述示例中,便是通过mysqli_fetch_all() 函数选择以关联数组的形式返回所有的数据。
大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。
以上がPHP で SQL クエリ結果を取得するためによく使用される関数 (詳細な例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。