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

相关文章
相关标签/搜索