PHP连接数据库、创建数据库、创建表的三种方式


这篇博客主要介绍了三种方式来连接MySQL数据库以及创建数据库、创建表。(代码是我在原来的基础上改的)

  • MySQLi - 面向对象
  • MySQLi - 面向过程
  • PDO

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



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM