mysql扩展库mysqli讲解!!!!!
**
问题引入:当你使用mysql_connect(‘localhost’,’root’,’password’)连接数据库的时候会出现一个警告:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\liyanhui_tpl\demo1.php on line 3
**
备注:mysqli是mysql上发展起来的类库,它的意思是建议使用mysqli或者pdo去连接数据库——将来的主流。mysql确实是太不安全而且太老旧了。所以在这里我简单介绍mysqli类的一些简单操作,步步递进,耐心学习
-
连接具体操作
//创建mysqli对象(资源句柄)
$mysqli = new mysqli();//连接数据库
$mysqli->connect(‘localhost’,’root’,’password’);//设置字符编码
$mysqli->set_charset(‘utf-8’);//选择数据库
$mysqli->select_db(‘xiaozheng’);//关闭数据库
$mysqli->close();//当然上面连接操作可以简单写成:
$_mysqli = new mysqli(‘localhost’,’root’,’password’,’test’); - 拓展:介绍四个关于连接数据库错误的函数
mysqli_connect_errno()函数返回连接数据库返回的错误号。
Mysqli_connect_error()函数返回连接数据库返回的错误代码
errno属性返回数据库操作时的错误号。
error属性返回数据库操作时的错误代码
比如:
两个函数是操作,两个函数是连接记好就行。
3 . CURL操作
获取数据集的四个函数:每次只能取一条数据
fetch_row():索引数组,可以通过echo "$row[0]"来输出数据
fetch_assoc():关联数组,可以通过 echo "$row['id']",关联下标来输出
fetch_array():即关联又索引数组,上面两种方式都可以输出
fetch_object():生成对象,只能通过$object->username输出 【注意】
掌握了上面四个函数也就可以遍历输出集了
while(!!$row = $data->fetch_assoc()){
echo "$row['usernaem']";
}
//其他的一样
4:.确定所选择的行和受影响的行
//当使用查询时,想了解SELECT查询了多少行,可以使用num_rows。
echo $_reslut->num_rows;
//当使用查询时,想了解SELECT、INSERT、UPDATE、DELETE查询时影响的行
数,可以使用affected_rows;注意,它是$_mysqli下的属性
echo $_mysqli->affected_rows;
特别注意的一点是:两者针对的对象不一样,num_rows针对的结果集,而affected针对的是mysqli对象
5 : 移动指针的操作和获取字段
$result->field_count();统计多少个字段
$result->fetch_field();获取第一列的字段名字,如果再次调用该方法的话,指针下移动,
会取出第二列的字段名称,使用print_r()打印看看是一个一维数组,指明了使用那张表之类的详细信息,
输出字段的话可以用$result->fetch_field()->name;指向name属性
$result->fetch_fields():获取所有的字段,二维数组输出
指针移动:$_result->data_seek(int);//数据集合的指针移动
$_result->field_seek(int)//字段的指针移动
6: //销毁结果集
$_result->free();
希望对初学者有帮助!!谢谢