亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    Mysqli的基本操作-CURD的學(xué)習(xí)開發(fā)總結(jié)

    PHP自5.5起,已經(jīng)完全廢除mysql擴展,官方推薦使用MySQLI或PDO來代替。這篇文章主要講mysqli的一些基本操作。使用mysqli有兩個風(fēng)格的寫法,對象式或函數(shù)式,下面我們只展示函數(shù)式的寫法風(fēng)格。

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

    首先肯定需要連接數(shù)據(jù)庫。連接數(shù)據(jù)前,我們需要準備的一般有數(shù)據(jù)庫的賬號、密碼、端口號、數(shù)據(jù)庫名。

    因為網(wǎng)絡(luò)原因或其他原因經(jīng)常會有連接不上數(shù)據(jù)庫的情況,所以,我們需要做連接失敗的處理。

    <?php // 數(shù)據(jù)庫連接 $mysqli = mysqli_connect(    'localhost',    'root',    '',    'test' );  if (mysqli_connect_errno()) {    throw new Exception('databases connect error:'        .mysqli_connect_error()); }  // ...一些數(shù)據(jù)庫操作 // 關(guān)閉數(shù)據(jù)庫資源 mysqli_close($mysqli);

    設(shè)置字符集

    設(shè)置字符集使用mysqli_set_charset();

    字符集目前我們大都使用utf8mb4,因為他支持4個字節(jié)長度的字符。他支持一些emoji表情字符。當然如果你不需要支持4字節(jié)字符的話可以選擇使用utf8,因為他比較??臻g。

    mysqli_set_chartset($mysqli, 'utf8mb4');

    重新選擇數(shù)據(jù)庫

    數(shù)據(jù)庫連接后,還可以重新選擇數(shù)據(jù)庫。

    mysqli_select_db($mysqli, '數(shù)據(jù)庫名');

    CURD操作

    mysqli_query():對數(shù)據(jù)庫執(zhí)行一次操作,DDL、DQL 、DML都支持。

    mysqli_affected_rows():獲取影響記錄行數(shù)。

    新增數(shù)據(jù)操作

    mysqli_query($mysqli,    "INSERT INTO users(username, age, sex)                VALUES('周杰倫', 35, '男'),                       ('謝霆鋒', 35, '男')" );  if (mysqli_affected_rows($mysqli) <= 0) {    throw new Exception('databases insert error:'        . mysqli_error($mysqli)); }

    修改數(shù)據(jù)操作

    這里面有一個注意點,mysqli_affected_rows返回的值為0的情況。它更新的信息與上次完全一樣,這個情況很普遍。比如說在修改的時候,連續(xù)點擊了多次修改按鈕。但并不能說明程序代碼有問題。所以,和新增不一樣的是,返回0也應(yīng)該是成功狀態(tài)。

    mysqli_query($mysqli,    "UPDATE users SET age=40 WHERE user_id = 1" );  if (mysqli_affected_rows($mysqli) < 0) {    throw new Exception('databases update error:'        . mysqli_error($mysqli)); }

    刪除數(shù)據(jù)操作

    注意:修改和刪除操作必須加where條件,不然將會修改整個表的數(shù)據(jù),后果不堪設(shè)想(刪庫跑路o(╯□╰)o)。

    mysqli_query($mysqli,    "Delete FROM users  WHERE user_id = 100" );  if (mysqli_affected_rows($mysqli) <= 0) {    throw new Exception('databases delete error:'        . mysqli_error($mysqli)); }

    查詢操作

    當mysqli_query執(zhí)行的是一條查詢語句時,該函數(shù)會返回mysqli_result結(jié)果集。

    mysqli_fetch_all()從結(jié)果集中獲取全部數(shù)據(jù)。該函數(shù)第二個參數(shù)可以指定返回數(shù)據(jù)的格式。分別為:

    • MYSQLI_NUM:返回索引數(shù)組

    • MYSQLI_ASSOC:返回關(guān)聯(lián)數(shù)組

    • MYSQLI_BOTH:既有索引數(shù)組也有關(guān)聯(lián)數(shù)組

    另外需要注意,對結(jié)果集的操作結(jié)束后,記得銷毀結(jié)果集資源。

    // 數(shù)據(jù)庫連接 $mysqli = mysqli_connect(    'localhost',    'root',    '',    'test' ); if (mysqli_connect_errno()) {    throw new Exception('databases connect error:'        .mysqli_connect_error()); } mysqli_set_charset($mysqli, 'utf8mb4'); $result = mysqli_query($mysqli,    "SELECT * FROM users" ); if (mysqli_affected_rows($mysqli) < 0) {    throw new Exception('databases select error:'        . mysqli_error($mysqli)); } $users = mysqli_fetch_all($result, MYSQLI_ASSOC); // 銷毀結(jié)果集資源 mysqli_free_result($result); // 關(guān)閉數(shù)據(jù)庫資源 mysqli_close($mysqli);

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號