介绍
利用php怎么对mysqli数据库进行操作?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
从php5.0开始增加mysql (i)支持,新加的功能都以对象的形式添加
我表示改进的意思功能,多效率高,稳定
<强>编译时参数:强>
。/configure ——使用mysql=/usr/bin/mysql_config \, #使用,Mysql ClientLibrary (libmysql)构建 ——with-mysqli=mysqlnd \, #使用,Mysql Native Dirver 即mysqlnd ——with-pdo-mysql=mysqlnd #使用,Mysql Native Dirver 即mysqlnd
由于版权问题从php5.3开始php开始用mysqlnd替代libmysql.dll
mysqlnd是zend公司开发的mysql数据库驱动,相比原来各方面都有所提高
#使用mysqlnd编译
。/configure ——使用mysql=mysqlnd ——with-mysqli=mysqlnd ——with-pdo-mysql=mysqlnd 加上你的参数
mysqli过程,对象方式都支持
<强> mysqli提供的三个类:
强>
1, mysqli和连接相关的
2, MySQLi_Result处理结果集
3, mysqli_stmt预处理类
#设置字符集
set_charset
#获取字符集
character_set_name
<强>获取数据库对象强>
//创建mysqli对象方式,1//屏蔽连接产生的错误 mysqli 美元;=,new mysqli(& # 39; 127.0.0.1 # 39;,, & # 39;根# 39;,,& # 39;& # 39;,,& # 39;测试# 39;);//只能用函数来判断是否连接成功 如果(mysqli_connect_errno ()) { echo 才能mysqli_connect_error (); }//创建mysqli对象方式,2,可以设置一些参数 $ mysqli =, mysqli_init (); 美元mysqli→选项(MYSQLI_OPT_CONNECT_TIMEOUT,, 2);//设置超时时间 美元mysqli→real_connect(& # 39; 127.0.0.1 # 39;,, & # 39;根# 39;,,& # 39;& # 39;,,& # 39;测试# 39;);
查询:失败返回假,选择成功返回结果集对象,其他返回true 非假,意味着sql执行成功了
<强>无结果集示例强>
mysqli 美元;=,mysqli_init (); 美元mysqli→选项(MYSQLI_OPT_CONNECT_TIMEOUT,, 2);//设置超时时间 美元mysqli→real_connect(& # 39; 127.0.0.1 # 39;,, & # 39;根# 39;,,& # 39;& # 39;,,& # 39;测试# 39;);=$ sql “insert  into limove(“名字”,,“订单”),值(& # 39;aa # 39;,, 11)“; 美元$ rst =, mysqli→查询($ sql);=$ sql “delete 得到limove where id =, 221“; 美元$ rst =, mysqli→查询($ sql); if ($ rst ===,假) { ee才能(mysqli→美元errno); ee才能($ mysqli→错误); } #影响条数 ee ($ mysqli→affected_rows); #插入的id ee ($ mysqli→insert_id); ee ($ mysqli);
<强>有结果集强>
mysqli 美元;=,mysqli_init (); 美元mysqli→选项(MYSQLI_OPT_CONNECT_TIMEOUT,, 2);//设置超时时间 美元mysqli→real_connect(& # 39; 127.0.0.1 # 39;,, & # 39;根# 39;,,& # 39;& # 39;,,& # 39;测试# 39;);=$ sql “select  *,得到limove as limove_as"; 美元$ result =, mysqli→查询($ sql); if ($ result ===,假) { ee才能(mysqli→美元errno); ee才能($ mysqli→错误); } #行数 ee(结果→美元num_rows); #列数 ee(结果→美元field_count); #字段个数 ee(结果→美元field_count); #获取所有字段的信息 美元$ field_arr =,结果→fetch_fields (); #移动字段的指针//,结果→美元field_seek (1); #依次获取字段的信息 而(field 美元;=,结果→美元fetch_field ()) { ee(字段)美元才能; } #移动记录指针 结果→美元data_seek (1); #一次获取所有数据 美元$ data =,结果→fetch_all (MYSQLI_ASSOC); #关联数组方式获取结果集 数组$ data =, (); 结果→美元data_seek(0);, #重置指针到起始 而(row 美元;=,结果→美元fetch_assoc ()) { $ data[],才能=,美元行; } ee(元数据); 结果→美元免费(); 美元mysqli→close ();
一次执行多条语句multiquery (不推荐使用)
无结果集,此时affected_rows只能获取到最后的那条影响的条数
mysqli 美元;=,mysqli_init (); 美元mysqli→选项(MYSQLI_OPT_CONNECT_TIMEOUT,, 2);//设置超时时间 美元mysqli→real_connect(& # 39; 127.0.0.1 # 39;,, & # 39;根# 39;,,& # 39;& # 39;,,& # 39;测试# 39;); $ sql_arr =,阵列( & # 39;才能insert into limove (id、“名称”,“订单”),值(空,,1,,2)& # 39;,,,,, & # 39;才能insert into limove (id、“名称”,“订单”),值(空,,1,,222)& # 39;,,,,, & # 39;才能delete 得到limove where “秩序”,=,2 & # 39;,,,,, ); $ sql =,内爆(& # 39;;& # 39;,,sql_arr美元); 美元$ result =, mysqli→multi_query ($ sql); if ($ result ===,假) { ee才能(mysqli→美元errno); ee才能($ mysqli→错误); } mysqli→美元close ();利用php怎么对mysqli数据库进行操作