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