溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP7中如何連接數(shù)據(jù)庫

發(fā)布時(shí)間:2021-06-04 09:35:34 來源:億速云 閱讀:127 作者:小新 欄目:編程語言

這篇文章主要介紹了PHP7中如何連接數(shù)據(jù)庫,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

使用原生PHP來連接MySQL的方法有 MySQL庫、MySQLi庫以及PDO,由于PHP 7已經(jīng)廢除 MySQL庫,所以建議使用MySQLi和PDO。

連接 MySQLi有兩種風(fēng)格:

  • 面向?qū)ο箫L(fēng)格(推薦)

  • 過程化風(fēng)格

面向?qū)ο箫L(fēng)格:

<?php
$mysqli = new mysqli('localhost', 'root', '123456', 'test_laravel');
if ($mysqli->connect_error) {
   die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}
$result = $mysqli->query('select * from articles');
$row = $result->fetch_array(MYSQLI_ASSOC);
print_r($row);
// 關(guān)閉mysql連接
$mysqli->close();

運(yùn)行:

Array
(
    [id] => 1
    [title] => My new title
    [body] => First Body
    [created_at] => 2017-05-22 11:10:20
    [updated_at] => 2017-05-22 11:30:58
    [published_at] => 2017-05-22 11:10:00
    [excerpt] =>
)

fetch_array方法如果不帶參數(shù)的話,則默認(rèn)是MYSQLI _BOTH,輸出是這樣的:

(
[0] => 1
[id] => 1
[1] => My new title
 [title] => My new title
[2] => First Body
[body] => First Body
[3] => 2017-05-22 11:10:20
[created_at] => 2017-05-22 11:10:20
[4] => 2017-05-22 11:30:58
[updated_at] => 2017-05-22 11:30:58
[5] => 2017-05-22 11:10:00
[published_at] => 2017-05-22 11:10:00
[6] =>
 [excerpt] =>
)

也可以選擇MYSQLI _NUM

Array
(
    [0] => 1
    [1] => My new title
    [2] => First Body
    [3] => 2017-05-22 11:10:20
    [4] => 2017-05-22 11:30:58
    [5] => 2017-05-22 11:10:00
    [6] =>
)

一般來說,選擇MySQLI _ASSOC

面向過程化風(fēng)格:

<?php
$mysqli = mysqli_connect('localhost', 'root', '123456', 'test_laravel');
if (mysqli_connect_error()) {
    die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}
$result = mysqli_query($mysqli, 'select * from articles');
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
print_r($row);
// 關(guān)閉mysql連接
mysqli_close($mysqli);

運(yùn)行和上面一致。

使用PDO連接mysql:

<?php

try {
    $PDO = new PDO('mysql:host=localhost;dbname=test_laravel', 'root', '123456');
    $result = $PDO->query('select * from articles');
    $row = $result->fetch(PDO::FETCH_ASSOC);
    print_r($row);

    // 關(guān)閉mysqi連接
    $PDO = null;
} catch (PDOException $e) {
    die('Connection failed: ' . $e->getMessage());
}

PDO的fetch方法不帶參數(shù)的話,默認(rèn)是:PDO::FETCH_BOTH,也可以PDO::FETCH_NUM和PDO::FETCH_ASSOC等,一般來說選擇PDO::FETCH_ASSOC即可。

總結(jié):使用PDO或者是MySQLi都是可以的,但網(wǎng)上更推薦使用PDO來連接數(shù)據(jù)庫,這是因?yàn)镻DO支持12種不同的數(shù)據(jù)庫驅(qū)動(dòng)程序,而MySQLi只能支持MySQL,另外PDO的性能也更高。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“PHP7中如何連接數(shù)據(jù)庫”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI