mysql_free_result() muss nur aufgerufen werden, wenn man bedenkt, wie viel Speicher es bei der Rückgabe einer sehr großen Ergebnismenge beanspruchen wird. Der gesamte zugehörige Speicher wird nach Beendigung des Skripts automatisch freigegeben.
Nachdem wir die SELECT-Anweisung ausgeführt haben, ist es eine gute Angewohnheit, den Cursorspeicher freizugeben. . Die Speicherfreigabe kann über die PHP-Funktion mysql_free_result() erreicht werden.
//定义头文件,字符格式 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);
Hinweis: Zusätzlich zu mysqli_free_result möchte ich auch den zweiten Parameter der Funktion mysqli_fetch_array() erwähnen
mysqli_fetch_array(result,resulttype)
resulttype Parameter:
1: MYSQLI_ASSOC. Der Schlüssel des Arrays ist der entsprechende Feldname. Sie können ihn wie folgt verwenden:
row['firstname'], row['lastname']. … ..
2: MYSQLI_NUM. Das zurückgegebene Ergebnis-Array ist ein Index-Array. Die Schlüssel des Arrays sind numerische Indizes wie 0,1,2,3,4.
$ row[0], row[1]…..
3: MYSQLI_BOTH, das zurückgegebene Ergebnisarray enthält sowohl einen Feldindex als auch einen numerischen Index verwendet werden.