用了几天mysqli扩展库觉得甚是好用,特别是预处理这个功能,真的很好用。如果只是不分层直接在页面php里写连接数据库代码我觉得几乎不会有问题,但是如果是自己抽出来的工具类就需要注意了,首先最重要的一点就是查询的时候释放资源的时机,一般来说数据没有显示在页面上就释放资源会引发数据库资源无效异常。解决的方法很简单那就是先把数据存储起来然后释放资源。
java中的做法是把查询的结果放在ArrayList里面然后关闭结果集,php原理也是一样的只是把集合换成了数组,如下所示
$result = $this->conn->query($pageSql);
$arr = array ();
$i=0;
while ($row = $result->fetch_assoc()) {
$arr[$i++] = $row;
}
$result->free();
显示数据的时候就直接遍历数组就可以了,代码如下
for ($i = 0; $i < count(arr); $i++) {
$row = $arr[$i];
echo "<tr align='center' height='25px'>";
echo "<td>$row[stuId]</td>";
echo "<td>$row[stuName]</td>";
echo "</tr>";
}
arr就表示我们存数据的数组