php的mysql\mysqli\PDO(二)mysqli
原文链接:http://www.orlion.ga/1147/ mysqli有面向对象风格和面向过程风格,个人感觉还是用面向对象风格比较好(毕竟是面向对象 1、mysqli::_construct() mysqli::__construct?([?string?$host?=?ini_get("mysqli.default_host")?[,?string?$username?=?ini_get("mysqli.default_user")?[,?string?$passwd?=?ini_get("mysqli.default_pw")?[,?string$dbname?=?""?[,?int?$port?=?ini_get("mysqli.default_port")?[,?string?$socket?=?ini_get("mysqli.default_socket")?]]]]]]?) mysqli?mysqli_connect?([?string?$host?=?ini_get("mysqli.default_host")?[,?string?$username=?ini_get("mysqli.default_user")?[,string?$dbname?=?""?[,?string?$socket?=?ini_get("mysqli.default_socket")?]]]]]]?) ????$host、$username、$passwd、$dbname、$port不用多说了,规则与mysql差不多。 2、mysqli::close() //面向对象风格 bool?mysqli::close?(?void?) //面向过程风格 bool?mysqli_close?(?mysqli?$link?) 成功时返回?TRUE,?或者在失败时返回?FALSE。$link:由mysqli_connect()?或?mysqli_init(void)?(该函数提供一个mysqli对象供mysqli_options()和mysqli_real_connect()使用)返回的链接标识。 ????这个与mysql_close()差别在于mysql_close()可以不提供参数而关闭上一个连接。 3、mysqli::query() mixed?mysqli::query?(?string?$query?[,?int?$resultmode?=?MYSQLI_STORE_RESULT?]?) mixed?mysqli_query?(?mysqli?$link?,?string?$query?[,?int?$resultmode?=?MYSQLI_STORE_RESULT]?) ? ? $resultmode有两种取值方式: ????返回值:失败时返回?FALSE,通过mysqli_query()?成功执行SELECT,SHOW,DESCRIBE或?EXPLAIN查询会返回一个mysqli_result对象,其他查询则返回TRUE。 ? 4、遍历结果函数 //?面向对象风格 mixed?mysqli_result::fetch_array?([?int?$resulttype?=?MYSQLI_BOTH?]?) //?面向过程风格 mixed?mysqli_fetch_array?(?mysqli_result?$result?[,?int?$resulttype?=?MYSQLI_BOTH?]?) ????例: $query?=?"SELECT?Name,?CountryCode?FROM?City?ORDER?by?ID?LIMIT?3"; $result?=?$mysqli->query($query); /*?numeric?array?*/ $row?=?$result->fetch_array(MYSQLI_NUM); printf?("%s?(%s)n",?$row[0],?$row[1]); /*?associative?array?*/ $row?=?$result->fetch_array(MYSQLI_ASSOC); printf?("%s?(%s)n",?$row["Name"],?$row["CountryCode"]); /*?associative?and?numeric?array?*/ $row?=?$result->fetch_array(MYSQLI_BOTH); printf?("%s?(%s)n",?$row["CountryCode"]); ????类似的函数有:mysqli_result::fetch_assoc和mysqli_result::fetch_row、mysqli_result::fetch_object。 5、释放result函数 //?面向对象风格 void?mysqli_result::free?(?void?) oid?mysqli_result::close?(?void?) void?mysqli_result::free_result?(?void?) //?面向过程风格 void?mysqli_free_result?(?mysqli_result?$result?) 6、其他函数 ????mysqli::real_escape_string(string $sql)转义sql。 ????一次执行多条sql可以用mysqli对象的multi_query()方法: bool?mysqli::multi_query?(?string?$query?) ????传递参数时需要把多条SQL命令写在同一个字符串中作为参数传给multi_query(),多个SQL之间使用分号(;)分隔。如果第一条SQL命令在执行时没有出错,这个方法就会返回TRUE,否则将返回FALSE。 ????因为multi_query参数中每条SQL都可能返回一个结果,所以处理过程就变成了: if?($mysqli->multi_query($sql))?{ ????do?{ ????????if?($result?=?$mysqli->store_result())?{ ????????????while?($row?=?$result->fetch_row())?{ ????????????????foreach?($row?as?$data)?{ ????????????????????var_dump($data); ????????????????} ????????????} ????????????$result->close(); ????????} ????????if?($mysqli->more_results())?{ ????????????echo?'----------------'; ????????} ????}?while($mysqli->next_result()); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |