中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

PHP中mysqli如何操作數(shù)據(jù)庫(kù)

下文主要給大家?guī)?lái)PHP中MySQLi如何操作數(shù)據(jù)庫(kù),希望這些內(nèi)容能夠帶給大家實(shí)際用處,這也是我編輯PHP中mysqli如何操作數(shù)據(jù)庫(kù)這篇文章的主要目的。好了,廢話(huà)不多說(shuō),大家直接看下文吧。                                                 

創(chuàng)新互聯(lián)建站專(zhuān)注于牧野網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供牧野營(yíng)銷(xiāo)型網(wǎng)站建設(shè),牧野網(wǎng)站制作、牧野網(wǎng)頁(yè)設(shè)計(jì)、牧野網(wǎng)站官網(wǎng)定制、微信小程序定制開(kāi)發(fā)服務(wù),打造牧野網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供牧野網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

由于mysql連接方式被廢除,在php7中要使用mysql_connect()還需要額外下載組件。

使用mysqli有面向過(guò)程和面向?qū)ο髢煞N方式。

mysqli提供了三個(gè)類(lèi):

● mysqli 連接相關(guān)的

● mysqli_result 處理結(jié)果集

● mysqli_stmt 預(yù)處理類(lèi)

數(shù)據(jù)庫(kù)連接

<?php
$db_host = 'localhost';
$db_name = 'test';
$db_user = 'root';
$db_pwd = '';
//面向?qū)ο蠓绞?
$mysqli = new mysqli($db_host, $db_user, $db_pwd, $db_name);
//面向?qū)ο蟮陌阂暺帘瘟诉B接產(chǎn)生的錯(cuò)誤,需要通過(guò)函數(shù)來(lái)判斷
if(mysqli_connect_error()){
    echo mysqli_connect_error();
}
//設(shè)置編碼
$mysqli->set_charset("utf8");//或者 $mysqli->query("set names 'utf8'")
//關(guān)閉連接
$mysqli->close();
//面向過(guò)程方式的連接方式
$mysqli = mysqli_connect($db_host, $db_user, $db_pwd, $db_name);
//判斷是否連接成功
if(!$mysqli ){
    echo mysqli_connect_error();
}
//關(guān)閉連接
mysqli_close($mysqli);
?>

數(shù)據(jù)庫(kù)查詢(xún)

通用:執(zhí)行sql語(yǔ)句都可用query(sql),執(zhí)行失敗會(huì)返回false,select成功則返回結(jié)果集對(duì)象,其他返回true,只要不是false就說(shuō)明sql語(yǔ)句執(zhí)行成功了。

<?php
//無(wú)結(jié)果集示例
$sql = "insert into table_name (`name`, `address`) values ('xiaoming', 'adddddrrreess')";
$result = $mysqli->query($sql);
//或者
$sql = "delete from table_name where name='xiaoming'";
$result = $mysqli->query($sql);
if($result === false){
    echo $mysqli->error;
    echo $mysqli->errno;
}
//影響條數(shù)
echo $mysqli->num_rows;
//插入的id
echo $mysqli->insert_id;
$mysqli->close();

有結(jié)果集

<?php
$sql = "select * from table_name";
$result = $mysqli->query($sql);
if($result === false){//執(zhí)行失敗
    echo $mysqli->error;
    echo $mysqli->errno;
}
//行數(shù)
echo $result->num_rows;
//列數(shù) 字段數(shù)
echo $result->field_count;
//獲取字段信息
$field_info_arr = $result->fetch_fields();
//移動(dòng)記錄指針
//$result->data_seek(1);//0 為重置指針到起始
//獲取數(shù)據(jù)
while($row = $result->fetch_assoc()){
    echo $row['name'];
    echo $row['address'];
}
//也可一次性獲取所有數(shù)據(jù)
//$result->data_seek(0);//如果前面有移動(dòng)指針則需重置
$data = $result->fetch_all(MYSQLI_ASSOC);
$mysqli->close();

預(yù)處理示例

預(yù)處理能有效的防止sql注入的產(chǎn)生,mysqli_stmt是預(yù)處理類(lèi)

<?php
$sql = "insert inro table_name ('name','address') values (?,?)";
//獲得預(yù)處理對(duì)象
$stmt = $mysqli->prepare($sql);
//綁定參數(shù) 第一個(gè)參數(shù)為綁定的數(shù)據(jù)類(lèi)型
/*
i:integer 整型
d:double 浮點(diǎn)型
s:string 字符串
b:a blob packets blob數(shù)據(jù)包
*/
$name = "xiaoming";
$address = "adddressss";
$stmt->bind_param("ss", $name, $address);//綁定時(shí)使用變量綁定
//執(zhí)行預(yù)處理
$stmt->execute();
/*
//可重新綁定 多次執(zhí)行
$stmt->bind_param("ss", $name, $address);
$stmt->execute();
*/
//插入的id 多次插入為最后id
echo $stmt->insert_id;
//影響行數(shù) 也是最后一次執(zhí)行的
echo $stmt->affected_rows;
//錯(cuò)誤號(hào)
echo $stmt->errno;
//錯(cuò)誤信息
echo $stmt->error;
//關(guān)閉
$stmt->close();
$mysqli->close();
下面示例select的預(yù)處理
//注釋部分省略
$sql = "select * from table_name where id<?";
$stmt = $mysqli->prepare($sql);
$id = 30;
$stmt->bind_param("i", $id);
$stmt->execute();
//獲取結(jié)果集
$result = $stmt->get_result();//結(jié)果集取后的操作就和之前一樣了
//獲取所有數(shù)據(jù)
$data = $result->fetch_all(MYSQLI_ASSOC);
$result->close();
$mysqli->close();

一次執(zhí)行多條sql語(yǔ)句multiquery(不推薦),執(zhí)行結(jié)果不是結(jié)果集,affectd_rows是最后影響的條數(shù)

<?php
$sql_arr = array(
    "insert into table_name (`name`,`address`) values ('xiaoming','a')",
    "insert into table_name (`name`,`address`) values ('xiaohong','a')",
    'delete from table_name where id=23',
);
$sql = implode(';', $sql_arr);
$result = $mysqli->multi_query($sql);
if($result === false){
    echo $mysqli->error;
}
$mysqli->close();

對(duì)于以上關(guān)于PHP中mysqli如何操作數(shù)據(jù)庫(kù),大家是不是覺(jué)得非常有幫助。如果需要了解更多內(nèi)容,請(qǐng)繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會(huì)喜歡上這些內(nèi)容的。

本文名稱(chēng):PHP中mysqli如何操作數(shù)據(jù)庫(kù)
文章源于:http://www.rwnh.cn/article12/jdjjgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、外貿(mào)網(wǎng)站建設(shè)做網(wǎng)站、網(wǎng)站收錄微信小程序、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
开封县| 车致| 铜梁县| 连云港市| 舞阳县| 安龙县| 客服| 沙田区| 大丰市| 博乐市| 共和县| 嘉黎县| 和田县| 阳东县| 尤溪县| 天祝| 徐汇区| 古丈县| 杭州市| 灌阳县| 宁海县| 迭部县| 肇东市| 罗甸县| 嘉义市| 米易县| 铁力市| 共和县| 古丈县| 德昌县| 沁水县| 永善县| 高雄县| 峨眉山市| 寿阳县| 广元市| 石棉县| 中卫市| 盘锦市| 达拉特旗| 安宁市|