成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP mysqli 操作數(shù)據(jù)庫

13651657101 / 3420人閱讀

摘要:起步由于連接方式被廢除,據(jù)說在中要使用還需要額外下載組件。使用有面向過程和面向?qū)ο髢煞N方式。

起步

由于mysql連接方式被廢除,據(jù)說在php7中要使用mysql_connect()還需要額外下載組件。
使用mysqli有面向過程和面向?qū)ο髢煞N方式。
mysqli提供了三個類:

mysqli 連接相關(guān)的

mysqli_result 處理結(jié)果集

mysqli_stmt 預處理類

數(shù)據(jù)庫連接
set_charset("utf8");//或者 $mysqli->query("set names "utf8"")
//關(guān)閉連接
$mysqli->close();

//面向過程方式的連接方式

$mysqli = mysqli_connect($db_host, $db_user, $db_pwd, $db_name);
//判斷是否連接成功
if(!$mysqli ){
    echo mysqli_connect_error();
}
//關(guān)閉連接
mysqli_close($mysqli);
?>
數(shù)據(jù)庫查詢

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

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é)果集

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();
//移動記錄指針
//$result->data_seek(1);//0 為重置指針到起始
//獲取數(shù)據(jù)
while($row = $result->fetch_assoc()){
    echo $row["name"];
    echo $row["address"];
}
//也可一次性獲取所有數(shù)據(jù)
//$result->data_seek(0);//如果前面有移動指針則需重置
$data = $result->fetch_all(MYSQLI_ASSOC);
$mysqli->close();
預處理示例

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

prepare($sql);
//綁定參數(shù) 第一個參數(shù)為綁定的數(shù)據(jù)類型
/*
i:integer 整型
d:double 浮點型
s:string 字符串
b:a blob packets blob數(shù)據(jù)包
*/
$name = "xiaoming";
$address = "affffdressss";
$stmt->bind_param("ss", $name, $address);//綁定時使用變量綁定
//執(zhí)行預處理
$stmt->execute();
/*
//可重新綁定 多次執(zhí)行
$stmt->bind_param("ss", $name, $address);
$stmt->execute();
*/
//插入的id 多次插入為最后id
echo $stmt->insert_id;
//影響行數(shù) 也是最后一次執(zhí)行的
echo $stmt->affected_rows;
//錯誤號
echo $stmt->errno;
//錯誤信息
echo $stmt->error;
//關(guān)閉
$stmt->close();
$mysqli->close();

下面示例select的預處理

//注釋部分省略
$sql = "select * from table_name where idprepare($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語句multiquery(不推薦),執(zhí)行結(jié)果不是結(jié)果集,affectd_rows是最后影響的條數(shù)

multi_query($sql);
if($result === false){
    echo $mysqli->error;
}
$mysqli->close();

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21168.html

相關(guān)文章

  • 你想不到的最簡單php操作MySQL

    摘要:千鋒出品之天龍八部操作必須先開啟擴展函數(shù)庫首先先開啟開啟成功呢我就可以開始連接數(shù)據(jù)庫了,第一步連接數(shù)據(jù)庫服務(wù)器地址用戶名,密碼第二步判斷連接數(shù)據(jù)庫是否成功連接錯誤號連接錯誤信息第三步選擇數(shù)據(jù)庫數(shù)據(jù)庫名稱第四步設(shè)置字符集第五步準備語句表名第六  千鋒PHP出品之天龍八部: Php操作mysql必須先開啟mysq擴展函數(shù)庫   首先先開啟extension = mysqli_dll;   ...

    pkhope 評論0 收藏0
  • PHP操作MySQL

    摘要:操作操作的三種方式非永久連接,性能比較低,以后廢棄永久連接,減輕服務(wù)器壓力,只支持能實現(xiàn)的常用功能,支持大部分數(shù)據(jù)庫擴展查看函數(shù)配置文件方式連接數(shù)據(jù)庫設(shè)置的字符集連接數(shù)據(jù)庫選擇數(shù)據(jù)庫設(shè)置字符集方式執(zhí)行語句對之類的操作,執(zhí)行成功時返回出錯 PHP操作MySQL PHP操作MySQL的三種方式: MySQL:非永久連接,性能比較低,PHP5.5以后廢棄; MySQLi:永久連接,...

    phodal 評論0 收藏0
  • PHP擴展 Mysql 與 Mysqli

    摘要:開發(fā)中,使用擴展來鏈接數(shù)據(jù)庫進行增刪改查等操作。從起這個擴展已經(jīng)被廢棄,并且從開始被移除。擴展允許我們訪問及以上版本提供的功能。相關(guān)概念與都是方面的函數(shù)集。多次運行將使用同一連接進程,減少了服務(wù)器的開銷。版本為只能使用擴展。 PHP開發(fā)中,使用Mysql擴展來鏈接Mysql數(shù)據(jù)庫進行增刪改查等操作。 在選擇Mysql擴展的時候,官方提供了兩種: MySQL 原始版。 http://cn...

    Neilyo 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<