在本教程中,您將學(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)建一個(gè)數(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)建一個(gè)名為demo的數(shù)據(jù)庫。
<?php /* 嘗試MySQL服務(wù)器連接。 假設(shè)您正在運(yùn)行MySQL。 具有默認(rèn)設(shè)置的服務(wù)器(沒有密碼的用戶“root”) */ $link = mysqli_connect("localhost", "root", ""); // 檢查連接 if($link === false){ die("錯(cuò)誤:無法連接。" . mysqli_connect_error()); } //嘗試創(chuàng)建數(shù)據(jù)庫查詢執(zhí)行 $sql = "CREATE DATABASE demo"; if(mysqli_query($link, $sql)){ echo "數(shù)據(jù)庫創(chuàng)建成功"; } else{ echo "錯(cuò)誤:無法執(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("錯(cuò)誤:無法連接。" . $mysqli->connect_error); } //嘗試創(chuàng)建數(shù)據(jù)庫查詢執(zhí)行 $sql = "CREATE DATABASE demo"; if($mysqli->query($sql) === true){ echo "數(shù)據(jù)庫創(chuàng)建成功"; } else{ echo "錯(cuò)誤:無法執(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錯(cuò)誤模式設(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("錯(cuò)誤:無法執(zhí)行 $sql. " . $e->getMessage()); } //關(guān)閉連接 unset($pdo); ?>
提示:將PDO :: ATTR_ERRMODE屬性設(shè)置為PDO :: ERRMODE_EXCEPTION告訴PDO每當(dāng)發(fā)生數(shù)據(jù)庫錯(cuò)誤時(shí)都將引發(fā)異常。