PHP鏈接數據庫、建立數據庫、建立表的三種方式

這篇博客主要介紹了三種方式來鏈接MySQL數據庫以及建立數據庫、建立表。(代碼是我在原來的基礎上改的)

  • MySQLi - 面向對象
  • MySQLi - 面向過程
  • PDOphp

    MySQLi 面向對象

<?php
    //實例 (MySQLi - 面向對象)建立數據庫鏈接
    echo "實例 (MySQLi - 面向對象)<br/>";
    $servername = "127.0.0.1";
    $username = "root";
    $password = "123456";
    date_default_timezone_set("Asia/Shanghai");
    echo date('Y-m-d H:i:s',strtotime('now'));
    // 建立鏈接
    $conn = new mysqli($servername, $username, $password);
     
    // 檢測鏈接
    if ($conn->connect_error) {
        die("鏈接失敗: " . $conn->connect_error);
    } 
    /*
     *注意在以上面向對象的實例中 $connect_error 是在 PHP 5.2.9 和 5.3.0 中添加的。
     * 若是你須要兼容更早版本 請使用如下代碼替換:
    // 檢測鏈接
    if (mysqli_connect_error()) {
        die("數據庫鏈接失敗: " . mysqli_connect_error());
    }
     */
    
    // 建立數據庫myDB
    $sql = "CREATE DATABASE test";
    if ($conn->query($sql) === TRUE) {
        echo "數據庫建立成功";
    } else {
        echo "<mark><br/>Error creating database: " . $conn->error."</mark>";
        echo "<br/>";
    }/* 注意: 當你建立一個新的數據庫時,你必須爲 mysqli 對象指定三個參數 (servername, username 和 password)。
Tip: 若是你使用其餘端口(默認爲3306),爲數據庫參數添加空字符串,指定端口號
如: new mysqli("localhost", "username", "password", "", port)*/
    
    echo "鏈接成功<br/>";
    $conn->close();//關閉鏈接
    echo "關閉鏈接<br/>";
?>
<?php
    //實例 (MySQLi 面向對象)建立表格
    date_default_timezone_set("Asia/Shanghai");
    echo date('Y-m-d H:i:s',strtotime('now'));
    echo "<br/>";
    $servername = "127.0.0.1";
    $username = "root";
    $password = "123456";
    $dbname = "myDB";
    // 建立鏈接
    $conn = new mysqli($servername, $username, $password, $dbname);
    // 檢測鏈接
    if ($conn->connect_error) {
        die("鏈接失敗: " . $conn->connect_error);
    } 
    // 使用 sql 建立數據表MyGuests
    $sql = "CREATE TABLE MyGuests (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP
    )";
    echo "<mark>";
    if ($conn->query($sql) === TRUE) {
        echo "Table MyGuests created successfully";
    } else {
        echo "建立數據表錯誤: " . $conn->error;
    }echo "</mark>";
    //鏈接
    $conn->close();
?>

MySQLi 面向過程

<?php
    //實例 (MySQLi 面向過程)--建立數據庫鏈接
    echo "實例 (MySQLi面向過程)<br/>";
    date_default_timezone_set("Asia/Shanghai");
    echo date('Y-m-d H:i:s',strtotime('now'));
    $servername = "127.0.0.1";
    $username = "root";
    $password = "123456";
    // 建立鏈接
    $conn = mysqli_connect($servername, $username, $password);
     
    // 檢測鏈接
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    }
    
    //建立數據庫
    $sql = "CREATE DATABASE myDB";
    if (mysqli_query($conn, $sql)) {
        echo "<br/>數據庫建立成功";
    } else {
        echo "<mark><br/>Error creating database: " . mysqli_error($conn)."</mark>";
    }
    
    echo "<br/>鏈接成功<br/>";
    mysqli_close($conn);
    echo "關閉鏈接<br/>";

?>
<?php
    //實例 (MySQLi 面向過程)建立數據庫鏈接
    date_default_timezone_set("Asia/Shanghai");
    echo date('Y-m-d H:i:s',strtotime('now'));
    echo "<br/>";
    $servername = "127.0.0.1";
    $username = "root";
    $password = "123456";
    $dbname = "myDB";

// 建立鏈接
    $conn = mysqli_connect($servername, $username, $password, $dbname);
// 檢測鏈接
if (!$conn) {
    echo "<mark>";
    die("鏈接失敗: " . mysqli_connect_error());
    echo "</mark>";
}

// 使用 sql 建立數據表MyGuests
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
    echo "<mark>";
if (mysqli_query($conn, $sql)) {
    echo "數據表 MyGuests 建立成功";
} else {
    echo "建立數據表錯誤: " . mysqli_error($conn);
}   echo "</mark>";
    
mysqli_close($conn);
?>

(PDO)建立數據庫鏈接

<?php
    //實例 (PDO)--建立數據庫鏈接
    echo "實例 (PDO)<br/>";
    date_default_timezone_set("Asia/Shanghai");
    echo date('Y-m-d H:i:s',strtotime('now'));
    $servername = "127.0.0.1";
    $username = "root";
    $password = "123456";
     
    try {
        $conn = new PDO("mysql:host=$servername;dbname=mysql", $username, $password);
        echo "<br/>鏈接成功<br/>"; 
        
        //建立數據庫
        // 設置 PDO 錯誤模式爲異常 
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
        $sql = "CREATE DATABASE myDBPDO"; 
        // 使用 exec() ,由於沒有結果返回 
        $conn->exec($sql); 
        echo "<mark>數據庫建立成功<br></mark>";        
    }catch(PDOException $e)
    {
        echo "<mark>".$sql . "<br>" . $e->getMessage()."</mark>";
        echo "<br/>";
    }
    $conn = null;
    echo "關閉鏈接<br/>";
?>
<?php
    //實例 (PDO)--建立數據庫鏈接
    echo "實例 (PDO)<br/>";
    date_default_timezone_set("Asia/Shanghai");
    echo date('Y-m-d H:i:s',strtotime('now'));
    echo "<br/>";
    $servername = "127.0.0.1";
    $username = "root";
    $password = "123456";
    $dbname = "myDBPDO";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // 設置 PDO 錯誤模式,用於拋出異常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 使用 sql 建立數據表
    $sql = "CREATE TABLE MyGuests (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP
    )";

    // 使用 exec() ,沒有結果返回 
    $conn->exec($sql);
    echo "<mark>數據表 MyGuests 建立成功</mark>";
    }
    catch(PDOException $e)
    {
        echo "<mark><br>".$sql . "<br>" . $e->getMessage()."<br></mark>";
    }
    
    //關閉鏈接
    $conn = null;
?>

本文代碼參考修改自http://www.runoob.com/php/php-mysql-connect.html
___html

相關文章
相關標籤/搜索