二十 mysqli基於面向過程與物件導向的程式設計

2022-02-07 04:12:22 字數 4286 閱讀 7423

musqli擴充套件庫操作mysql資料庫步驟:

//

語法 mysqli_connect(host,username,password,dbname,port,socket);

$conn=mysqli_connect("127.0.0.1",'root','','user');

if (!$conn

)

//

語法:mysqli_set_charset(connection,charset);

// 修改資料庫連線字符集為 utf8

mysqli_set_charset($conn,"utf-8") ;

//查詢

語句$sql="select * from user1";

//執行sql語句

$res=mysqli_query($conn,$sql

);

//\列印返回結果為乙個結果集

var_dump($res

);結果集:

object(mysqli_result)#

2 (5)

echo "

";

echo "----".$res->num_rows;

//取結果集的資料

while ($obj = mysqli_fetch_object($res

))

echo "

"; }

函式名說明

mysqli_fetch_assoc($result)

查詢到的一條資料以關聯陣列形式返回 [key]=>value

mysqli_fetch_row($result) 依次取出$res結果集的下一行資料

查詢到的一條資料以索引陣列形式返回 [0]=>value

mysqli_fetch_array($result)

查詢到的一條資料以索引陣列和關聯陣列的混合形式返回[key]=>valuec/[0]=>value

mysqli_fetch_object($result)

查詢到的一條資料以物件屬性的形式返回  object

mysqli_fetch_array($result)

查詢到的一條資料以索引陣列和關聯陣列的混合形式返回

mysqli_fetch_array($result,mysqli_both)

查詢到的一條資料以索引陣列和關聯陣列的混合形式返回

mysqli_fetch_array($result,mysqli_assoc)

查詢到的一條資料以關聯陣列的混合形式返回

mysqli_fetch_array($result,mysqli_row)

查詢到的一條資料以索引陣列的混合形式返回

$sql="insert into user1(name,password,email,age)values ('haha',md5('123456'),'[email protected]',16);";

$res=mysqli_query($conn,$sql) or die("執行失敗");

var_dump($res

);//

返回的是乙個布林值

if (!$res

)

echo "受影響的行數: " . mysqli_affected_rows($conn

);

if(mysqli_affected_rows($conn)>0)

else

注意:釋放結果集和關閉連線內填的資源不一樣

//

釋放結果集

mysqli_free_result($res

);

//函式關閉先前開啟的資料庫連線

mysqli_close($conn);

sqltool.class.php

<?php

class

sqltool

mysqli_set_charset(

$this->conn,"utf8");

}//執行dml語句,並返回值

function excute_dml($sql

)else

else}}

//執行dql語句,並返回值

function excute_dql($sql

) }

testsql.php

<?php

require "sqltool.class.php";

//$sql="insert into user1(name,password,email,age) values('hhhhhh',md5('123'),'[email protected]',22)";

$sql="delete from user1 where name='qq'";

$sqltool=new

sqltool();

//呼叫dml

$res=$sqltool->excute_dml($sql

);

if ($res==0)

else

if ($res==1)

else

if ($res==2)

$sql1="select * from user1";

//呼叫dql

$res1=$sqltool->excute_dql($sql1

);

//var_dump($res1);

if ($res1->num_rows>0)

echo "

"; }

}?>

mysqlitest.php

<?php

//物件導向

$conn=new mysqli("127.0.0.1","root","","test");

if ($conn->connect_errno)

$sql="select * from user1";

$res=$conn->query($sql

);

while ($row=$res->fetch_row())

}$res->free();

$conn->close();

?>

封裝

sqliconnection.class.php

<?php

class

sqlconnect

$this->mysqli->query("set names utf8");

}//查詢

public

function excete_dql($sql

)

public

function excete_dml($sql

)else

else}}

}?>

sqlitest.php

<?php

require "sqliconnection.class.php";

$sqlconnect=new

sqlconnect();

//插入記錄

$sql1="insert into user1(name,password,email,age)values('asd','555','[email protected]','23');";

$res1=$sqlconnect->excete_dml($sql1

);

if ($res1=="0")

elseif ($res1=="1")

elseif ($res1=='2')

//查詢記錄

$sql="select * from user1";

$res=$sqlconnect->excete_dql($sql

);

while ($row=$res->fetch_row())

echo "

"; }

$res->free();

//$sqlconnect->close();

?>

MySQLi基於面向過程的程式設計

mysqli在windows上,對於php 5.3或更新版本,mysqli擴充套件預設開啟,對於php 5.0 5.1 5.2,mysqli擴充套件預設並不會開啟,因此php.ini中php mysqli.dll這個dll 必須開啟。mysqli基於面向過程的程式設計和物件導向的程式設計是相對的,其...

MySQLi基於面向過程的程式設計

mysqli在windows上,對於php 5.3或更新版本,mysqli擴充套件預設開啟,對於php 5.0 5.1 5.2,mysqli擴充套件預設並不會開啟,因此php.ini中php mysqli.dll這個dll 必須開啟。mysqli基於面向過程的程式設計和物件導向的程式設計是相對的,其...

MySQLi基於物件導向的程式設計

mysqli在windows上,對於php 5.3或更新版本,mysqli擴充套件預設開啟,對於php 5.0 5.1 5.2,mysqli擴充套件預設並不會開啟,因此php.ini中php mysqli.dll這個dll 必須開啟。mysqli基於面向過程的程式設計和物件導向的程式設計是相對的,其...