数据访问(创建链接、读取数据、例题)--2017-04-25
1、造连接对象
$db = new MySQLi("localhost_3306","root","12345678","hw_0408");
2、写SQL语句
$sql = "select * from teacher";
3、执行SQL语句,返回结果集对象
$result = $db->query($sql);
if($result)
{
}
$arr = $result->fetch_row();
var_dump($arr);
4、取数据 (1)和(5)常用
(1)$arr = $result->fetch_all(MYSQLI_BOTH);
注:默认输出索引数组(二维数组),MYSQLI_NUM输出索引数组; MYSQLI_ASSOC输出关联数组;MYSQLI_BOTH输出索引和关联数组;
(2)$arr = $result->fetch_array();
注:默认返回第一条数据(索引和关联数组)
如果输出全部数据,则采用while()循环:
while($arr = $result->fetch_array())
{
var_dump($arr);
}
(3)$arr = $result->fetch_assoc();
注:默认返回第一条数据(关联数组)
(4)$arr = $result->fetch_object();
注:默认返回第一条数据 返回的是对象
(5)$arr = $result->fetch_row();
注:默认返回第一条数据(索引数组)
5、在取数据之前要判断一下;
(1)if($result->num_row>0){}
(2)if($result->num_row){}
注:0、空 均表示false; 所有大于0的数和字符串 都表示 true;
判断的是数据为空;
(3)if($result){}
注:判断的是sql语句执行的结果是否正确。
6、例题:
echo "<select>";
$db = new MySQLi("localhost","root","123","mydb");
$sql = "select * from nation";
$result = $db->query($sql);
$arr = $result->fetch_all(); //返回的是二维数组
foreach($arr as $v)
{
echo "<option value='{$v[0]}'>{$v[1]}</option>";
}
echo "</select>";