在本教程中,您將學(xué)習(xí)如何使用PHP在MySQL中創(chuàng)建數(shù)據(jù)庫。
現(xiàn)在,您已經(jīng)了解了如何打開與MySQL數(shù)據(jù)庫服務(wù)器的連接。在本教程中,您將學(xué)習(xí)如何執(zhí)行SQL查詢來創(chuàng)建數(shù)據(jù)庫。
在保存或訪問數(shù)據(jù)之前,我們需要先創(chuàng)建一個數(shù)據(jù)庫。CREATE DATABASE語句用于在MySQL中創(chuàng)建新數(shù)據(jù)庫。
讓我們使用CREATE DATABASE語句進(jìn)行SQL查詢,此后,我們將通過將其傳遞給PHP mysqli_query()函數(shù)以最終創(chuàng)建數(shù)據(jù)庫來執(zhí)行此SQL查詢。以下示例創(chuàng)建一個名為demo的數(shù)據(jù)庫。
<?php
/* 嘗試MySQL服務(wù)器連接。 假設(shè)您正在運(yùn)行MySQL。
具有默認(rèn)設(shè)置的服務(wù)器(沒有密碼的用戶“root”) */
$link = mysqli_connect("localhost", "root", "");
// 檢查連接
if($link === false){
die("錯誤:無法連接。" . mysqli_connect_error());
}
//嘗試創(chuàng)建數(shù)據(jù)庫查詢執(zhí)行
$sql = "CREATE DATABASE demo";
if(mysqli_query($link, $sql)){
echo "數(shù)據(jù)庫創(chuàng)建成功";
} else{
echo "錯誤:無法執(zhí)行$sql。 " . mysqli_error($link);
}
//關(guān)閉連接
mysqli_close($link);
?><?php
/* 嘗試MySQL服務(wù)器連接。 假設(shè)您正在運(yùn)行MySQL。
具有默認(rèn)設(shè)置的服務(wù)器(沒有密碼的用戶“root”) */
$mysqli = new mysqli("localhost", "root", "");
//檢查連接
if($mysqli === false){
die("錯誤:無法連接。" . $mysqli->connect_error);
}
//嘗試創(chuàng)建數(shù)據(jù)庫查詢執(zhí)行
$sql = "CREATE DATABASE demo";
if($mysqli->query($sql) === true){
echo "數(shù)據(jù)庫創(chuàng)建成功";
} else{
echo "錯誤:無法執(zhí)行 $sql. " . $mysqli->error;
}
//關(guān)閉連接
$mysqli->close();
?><?php
/* 嘗試MySQL服務(wù)器連接。 假設(shè)您正在運(yùn)行MySQL。
具有默認(rèn)設(shè)置的服務(wù)器(沒有密碼的用戶“root”) */
try{
$pdo = new PDO("mysql:host=localhost;", "root", "");
//將PDO錯誤模式設(shè)置為異常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("ERROR: Could not connect. " . $e->getMessage());
}
//嘗試創(chuàng)建數(shù)據(jù)庫查詢執(zhí)行
try{
$sql = "CREATE DATABASE demo";
$pdo->exec($sql);
echo "數(shù)據(jù)庫創(chuàng)建成功";
} catch(PDOException $e){
die("錯誤:無法執(zhí)行 $sql. " . $e->getMessage());
}
//關(guān)閉連接
unset($pdo);
?>提示:將PDO :: ATTR_ERRMODE屬性設(shè)置為PDO :: ERRMODE_EXCEPTION告訴PDO每當(dāng)發(fā)生數(shù)據(jù)庫錯誤時(shí)都將引發(fā)異常。