在学习完mysql库来操作mysql的方式,这是一种面向过程的方式,但是,面向对象是大势所趋,mysqli扩展库也就有必须学习的必要了,mysqli作为一个类库,在我们使用的时候都是以面向对象的方式进行操作,所以,这种方案是比较好的,为此,我特意做了它与mysqli扩展库的对应比较:
下面是mysql库的连接,查询语句,返回结果,释放资源的过程:
<pre name="code" class="php"><pre name="code" class="php"><pre name="code" class="php"><pre name="code" class="php"><?php //1:连接数据库 $con=mysql_connect("localhost","root","toor"); //如果没有连接成功要报错 if(!$con){ echo "连接失败"; exit(); } //2: 选择要操作的数据库 mysql_select_db("test"); //3:发送SQL指令 mysql_query("set names utf8");//设置查询编码 $sql="select *from test1"; $res=mysql_query($sql,$con); //4:返回结果(按行遍历返回) while($row=mysql_fetch_row($res)){ echo "$row[0]-------------$row[1]-----------$row[2]-----------$row[3]-----------$row[4]".'<br/>'; } //5:释放资源,关闭连接 mysql_free_result($res); mysql_close($con); ?>
下面是mysqli扩展库的连接,查询语句,返回结果,释放资源的过程:
<pre name="code" class="php"><?php //创建mysqli对象,实例化 $mysqli= new MySQLi("localhost","root","toor","test"); if($mysqli->connect_error){ die("连接失败 错误信息:".$mysqli->connect_error); }else{ echo "连接成功<br/>"; } //操作数据库,发送sql $sql="select * from test.test1"; $res=$mysqli->query($sql); //返回结果 while($row=$res->fetch_row()){ foreach($row as $key=>$value){ echo $value." "; } echo "<br/>"; } //var_dump($res); //关闭资源 $res->free(); //关闭连接 $mysqli->close(); ?>
MySqli扩展库的对象对象属性特点以及与mysql库面向过程的比较
原文地址:http://blog.csdn.net/mycodedream/article/details/44173751