php mysqli擴充套件庫的使用

yi_an發表於2016-09-07

php mysqli擴充套件庫的使用

資料庫結構
資料庫結構

1.連線資料庫
$hostname = 'localhost'; //主機名
$dbname = 'yian'; //資料庫名
$username = 'root'; //使用者名稱
$psw = 'root'; //使用者密碼
$charset = 'utf_8'; //mysql編碼

$mysqli =new mysqli($hostname,$username,$psw,$dbname);
$mysqli->set_charset($charset);
$selectdb = $mysqli->select_db($dbname);
$sql = "select
name,agefromtest01";
$insertsql = "insert into
test01(name,tel) values('test',999)";

//執行一條sql語句
$res = $mysqli->query($sql);

$res = $mysqli->query($insertsql);
//返回插入操作後的id
$num = $mysqli->insert_id;
echo $num;exit;
/*
* 輸出
* 6
* */

//返回受影響的條數
$num = $mysqli->affected_rows;
echo $num;exit;
/*
* 輸出
* 5

//返回索引陣列
$out = $res->fetch_row();
/*輸出:
查詢出第一條記錄
Array
(
[0] => A
[1] => 21
)*/
while(list($tel,$age)=$res->fetch_row()){
echo $tel.' age is '.$age."\n";
}
/*
* 輸出:
A age is 21
B age is 15
C age is 21
D age is 14
E age is 26
* */

/返回關聯陣列
$out = $res->fetch_assoc();
print_r($out);exit;
/*
* 輸出
* 輸出第一條關聯陣列
* Array
(
[name] => A
[age] => 21
)
*/
while($row = $res->fetch_assoc()){
echo $row['name'].' age is '.$row['age']."\n";
}
/*
* 輸出
A age is 21
B age is 15
C age is 21
D age is 14
E age is 26
* */

`//返回物件
out=
var_dump($out);exit;
/*
* 輸出
object(stdClass)#3 (2) {
[“name”]=>
string(1) “A”
[“age”]=>
string(2) “21”
}

*/
while(row=

row =
res->fetch_object()){
echo row>name.ageis.
row->name.' age is '.
row->age.”\n”;
}
/*
* 輸出:
A age is 21
B age is 15
C age is 21
D age is 14
E age is 26
*/
//使用 mysqli_stmt 類
/*
* mysql4.1版本開始提供一種預處理(prepared statement)的機制,它可以見整個命令向MYSQL伺服器傳送一次,
* 以後只有引數變化,MYSQL只需要對命令做一次的分析就夠了,
* 大大減少需要傳輸的資料量,還提高了命令的處理效率(注,在不需要連線時應該立刻關閉close())
* 使用預準備語句可提高重複使用語句的效能,
* 在PHP中,使用prepare()方法來進行預準備語句查詢,
* 使用execute()方法來執行預準備語句。PHP有兩種預準備語句:一種是繫結結果,另一種是繫結引數。
* */

//1預備sql命令
//$sql = “select ?,?,?, form test01 where gender=1 “;
$sql = “select ?,?,? from test01 where gender=1 “;
//$sql = “select name,age,tel from test01 where gender=? “;
stmt=

stmt =
mysqli->prepare(sql);
age=age;
age = ‘age’;
tel = ‘tel’;
//2繫結引數
stmt>bindparam(sss,
stmt->bind_param('sss',
name,age,
//stmt>bindparam(s,
//$gender = 1;

//執行
out=
//2繫結結果
stmt>bindresult(

stmt->bind_result(
sname,sage,
while(stmt>fetch())echo$sname.ageis.$sage.telis.$stel.\n;//sql
//關閉資料庫
$mysqli->close();`

相關文章