mysqlitest.php
<?php
//调用数据库的函数
function connetionsql(){
$conn=mysqli_connect("127.0.0.1",'root','','user');
if (!$conn) {
die("连接失败".mysqli_error());
}
mysqli_set_charset($conn,"utf8");
$sql="select * from user1";
$res=mysqli_query($conn,$sql);
// mysqli_affected_rows()返回前一次 MySQL 操作所影响的记录行数。
// $row=mysqli_affected_rows($conn);
// mysqli_num_fields() 返回结果集中字段的数量。
$col=mysqli_num_fields($res);
echo "<table border='1'><tr>";
// 取出字段名作为表名
for ($i=0; $i <$col ; $i++) {
// mysqli_fetch_field_direct() 从结果集中取得某个单一字段的 meta-data,并作为对象返回。
$file_name=mysqli_fetch_field_direct($res,$i);
// echo $file_name->name;
echo "<th>$file_name->name</th>";
}
echo "</tr>";
// mysqli_fetch_row() 从结果集中取得一行,并作为枚举数组返回。
while ($row=mysqli_fetch_row($res)) {
echo "<tr>";
for ($i=0; $i <$col ; $i++) {
echo "<td>$row[$i]</td>";
}
echo "</tr>";
}
echo "</table>";
}
connetionsql();
?>
实现结果:
解析后的html源码:
<table border='1'>
<tr>
<th>id</th><th>name</th><th>password</th><th>email</th><th>age</th>
</tr>
<tr>
<td>4</td><td>huahua</td><td>e10adc3949ba59abbe56e057f20f883e</td><td>huahua@qq.com</td><td>16</td>
</tr>
<tr>
<td>32</td><td>haha</td><td>e10adc3949ba59abbe56e057f20f883e</td><td>test@qq.com</td><td>16</td>
</tr>
<tr>
<td>28</td><td>test</td><td>e10adc3949ba59abbe56e057f20f883e</td><td>test@qq.com</td><td>16</td>
</tr>
<tr>
<td>31</td><td>嘿嘿</td><td>e10adc3949ba59abbe56e057f20f883e</td><td>test@qq.com</td><td>16</td>
</tr>
</table>
下面是在过程中熟悉的mysqli函数:
mysqli_fetch_fields()
// mysqli_fetch_fields() 返回结果中代表字段的对象的数组。
$field_info=mysqli_fetch_fields($res);
var_dump($field_info);
//返回的是一个二位数组,如下:
// array(5) {
// [0]=> object(stdClass)#3 (13)
// { ["name"]=> string(2) "id"
// ["orgname"]=> string(2) "id"
// ["table"]=> string(5) "user1"
// ["orgtable"]=> string(5) "user1"
// ["def"]=> string(0) ""
// ["db"]=> string(4) "user"
// ["catalog"]=> string(3) "def"
// ["max_length"]=> int(2)
// ["length"]=> int(11)
// ["charsetnr"]=> int(63)
// ["flags"]=> int(49667)
// ["type"]=> int(3)
// ["decimals"]=> int(0)
// }
foreach ($field_info as $key =>$value) {
// echo "<br/>".$val->name;
echo "<br/>.-----";
echo $key;
echo "=========";
echo $value->name;
}
结果:
//数字为下标
.-----0=========id
.-----1=========name
.-----2=========password
.-----3=========email
.-----4=========age
mysqli_fetch_field()
// mysqli_fetch_field() 函数从结果集中取得下一字段(列),并作为对象返回。
while ($field_info=mysqli_fetch_field($res)) {
echo "<br/>".$field_info->name;
}
结果:
id
name
password
age