PHP中使用mysqli与MySQL建立交互
一、建立、关闭与MySQL服务器的连接
1、连接指定的mysql服务器
$link=@mysqli_connect($host, $user, $password,$database,$port);
2、连接错误时的提示
mysqli_connect_errno ();(返回int类型)
mysqli_connect_error ();(返回string类型)
3、设置默认字符编码
mysqli_set_charset ($link,'字符编码名');(返回bool类型)
4、选择特定的数据库
mysqli_select_db ($link,'数据库名');(返回bool类型)
5、关闭与mysql服务器的连接
mysqli_close ($link);(返回bool类型);
二、执行SQL语句以及返回结果集处理
1、对数据库执行一条SQL语句
mysqli_query ($link ,sql [,MYSQLI_STORE_RESULT||MYSQLI_USE_RESULT])
返回一个结果集对象,可以使用操作结果集对象的函数来从中获取数据
MYSQLI_STORE_RESULT:执行SQL时提取结果集并分配内存,之后操作相当于是从本地取数据
MYSQLI_USE_RESULT:每次都要向sql请求结果行。执行SQL的时候并没有从将结果集取回
mysqli_real_query ($link ,'数据库语句')
对数据库执行一条SQL语句,不返回结果集,仅返回执行是否成功
在执行sql语句时发生错误
mysqli_errno ($link);(返回int类型)
mysqli_error ($link);(返回string类型)
mysqli_affected_rows ($link):获取前一个Mysql操作的受影响行数
mysqli_insert_id ($link):返回最后一次操作自动生成的
mysqli_real_escape_string ($link,sql):转义用于SQL语句中的特殊字符防止出错
一次性执行多条SQL语句,多个SQL语句用分号隔开
mysqli_multi_query($link,"insert into 表1(字段名) values(值);insert into 表2(字段名) values(值)...")
返回bool类型,只要第一条语句执行成功,不管后面是否成功都返回true
2、操作结果集对象的函数
①以索引数组的方式获取记录的数据
mysqli_fetch_row ($result);
②以关联数组的方式获取记录的数据
mysqli_fetch_assoc ($result);
③以索引数组或关联数组的方式获取一条记录的数据
mysqli_fetch_array ($result [MYSQLI_BOTH||MYSQLI_ASSOC||MYSQLI_NUM]);
重复使用以获取下一条记录的数据
④以索引数组或关联数组的方式获取全部记录的数据
**mysqli_fetch_all** ($result [MYSQLI_NUM||MYSQLI_BOTH||MYSQLI_ASSOC]);
⑤返回结果集中的下一个字段的对象数组
mysqli_fetch_field ($result); 重复使用以获取下一条记录的数据
⑥获取结果中行的数量
mysqli_num_rows ($result);
释放与一个结果集相关的内存:mysqli_free_result ($result);