mysql_free_result() は、非常に大きな結果セットを返すときにどれだけのメモリを使用するかを考慮する場合にのみ呼び出す必要があります。スクリプトの終了後、関連するすべてのメモリが自動的に解放されます。
SELECT ステートメントを実行した後、カーソル メモリを解放するのは良い習慣です。 。メモリの解放は、PHP 関数 mysql_free_result() を通じて実現できます。
//定义头文件,字符格式 header("Content-type:text/html;charset=utf-8"); error_reporting(ERR_ALL & ~ E_NOTICE); //定义本地服务器连接信息 $servername="localhost"; $username="root"; $password="admin"; $dbname="test"; //本地连接 $conn=mysqli_connect($servername,$username,$password,$dbname)or die(mysqli_error()); //要查询的信息 $sql="SELECT firstname,lastname,email FROM hello"; $result=mysqli_query($conn,$sql); //判断字符串是否执行成功 if($result){ while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)) { echo $row["firstname"]." ".$row["lastname"]." ".$row["email"]."<br>"; echo "<hr>"; } }else{ die("fetch data failed!"); } //释放游标内存 mysqli_free_result($result); //关闭数据库连接 mysqli_close($conn);
注: mysqli_free_result について話すことに加えて、mysqli_fetch_array() 関数の 2 番目のパラメーターについても触れたいと思います
mysqli_fetch_array(result,resulttype)
resulttype パラメーター:
1: MYSQLI_ASSOC、返された結果配列は関連付けられた配列です、配列のキーは対応するフィールド名で、次のように使用できます:
row['firstname'], row['lastname']...
2: MYSQLI_NUM、返される結果の配列はインデックス配列です, 配列のキーは 0,1,2,3,4 のような数値インデックスです:
$row[0], row[1]...
3: MYSQLI_BOTH,返された結果の配列 にはフィールド インデックスと数値インデックスの両方があります。これを使用する場合は、上記の両方を使用できます。