• 技術文章
    PHP連接MySQL
    發布日期:2019-11-23 閱讀次數:3763 字體大?。?a href="javascript:;" onclick="ChangeFontSize('content',16)">大

    PHP5及以上版本建議使用以下方式連接MySQL數據庫:

    • MySQLi extension這里的i意為improved
    • PDO全稱PHP Data Objects

    在PHP早期版本中我們使用MySQL擴展,但該擴展在2012年開始不建議使用。

    我該用MySQLi,還是PDO呢

    如果你需要一個簡短的回答,那就“習慣哪個就用哪個”

    MySQLi和PDO有它們自己優勢:PDO應用在12種不同數據庫中,MySQLi只針對MySQL數據庫。

    所以,如果你的項目需在多種數據庫中切換,建議用PDO,這樣你只需要修改連接字符串和部分查詢語句即可。如使用MySQLi,不同的數據庫,需要重新編寫所有代碼,包括查詢。

    兩者都是面向對象,但MySQLi提供了API接口。

    兩者都支持預處理語句。預處理語句可以防止SQL注入,對于web項目安全性是非常重要的。

    MySQLi和PDO連接MySQL實例

    我們用以下三種方式來演示PHP操作MySQL:

    • MySQLi面向對象的方式
    • MySQLi面向過程的方式
    • PDO的方式

    MySQLi面向對象的方式:

    $servername = "localhost";

    $username = "username";

    $password = "password";

    $conn = new mysqli($servername, $username, $password);

    if ($conn->connect_error) {

     die("連接失敗: " . $conn->connect_error);

    }

    echo "連接成功";

    ?>

    注意在上面向對象的實例中$connect_error是在PHP5.2.9和5.3.0中添加的。如果你需要兼容更早版本請使用以下代碼替換:

    1.  
    2. if (mysqli_connect_error()) {
    3.     die("MySQL數據庫連接失敗: " . mysqli_connect_error());
    4. }

    MySQLi面向過程的方式:

    $servername = "localhost";

    $username = "username";

    $password = "password";

    $conn = mysqli_connect($servername, $username, $password);

    if (!$conn) {

    die("Connection failed: " . mysqli_connect_error());

    }

    echo "連接成功";

    ?>

    PDO的方式:

    $servername = "localhost";

    $username = "username";

    $password = "password";

    try {

        $conn = new PDO("mysql:host=$servername;", $username, $password);

       echo "連接成功";

    }

    catch(PDOException $e)

    {

      echo $e->getMessage();

    }

    ?>

    注意在以上PDO實例中我們已經指定了數據庫myDB。PDO在連接過程需要設置數據庫名。如果沒有指定,則會拋出異常。

    關閉連接

    MySQLi面向對象的方式:

    $conn->close();

    MySQLi面向過程的方式:

    mysqli_close($conn);

    PDO的方式:

    $conn = null;

    国产精品 高清 尿 小便 嘘嘘_无码8090精品久久一区_精品无码专区毛片_一本久道久久综合网