在學習完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(); ?>