我想爲我的網站創建一個「設置腳本」。我想創建數據庫,同時添加表格和一些內容。到目前爲止,這是我如何做到的,但似乎使用多個查詢很雜亂:如何使用單個查詢通過PHP創建多個MySQL表?
<?php
$servername = "localhost";
$username = "root";
$password = "password";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Create database
$sql = "CREATE DATABASE MYDB";
if ($conn->query($sql) === TRUE) {
echo "1. Database created successfully <br/>";
$conn->select_db("MYDB");
$sql_members = "CREATE TABLE MEMBERS (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
USERNAME VARCHAR(30) NOT NULL,
EMAIL VARCHAR(40) NOT NULL,
DISCOUNT VARCHAR(5),
PASSW CHAR(128),
ROLE VARCHAR(9)
)";
if ($conn->query($sql_members) === TRUE) {
echo "2. Table MEMBERS created successfully <br/>";
} else {
echo "Error creating table: " . $conn->error;
}
$sql_content = "CREATE TABLE CONTENT (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
TITLE VARCHAR(30) NOT NULL,
TEXT VARCHAR(30) NOT NULL
)";
if ($conn->query($sql_content) === TRUE) {
echo "3. Table CONTENT created successfully <br/>";
} else {
echo "Error creating table: " . $conn->error;
}
} else {
echo "Error creating database: " . $conn->error;
}
$conn->close();
?>
有沒有更好的方法? 謝謝!
== == UPDATE
我曾嘗試導出數據庫,並使用所得到的.sql文件爲我設置的查詢,但什麼是錯的,我得到:
錯誤創建表:你的SQL語法有錯誤;檢查對應於你的MySQL服務器版本的權利 語法使用近12行
CREATE TABLE IF NOT EXISTS `CONTACTS` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`NAME` varchar(25) COLLATE utf8_romanian_ci NOT NULL,
`PHONE` varchar(16) COLLATE utf8_romanian_ci NOT NULL,
`EMAIL` varchar(35) COLLATE utf8_romanian_ci NOT NULL,
`ADDRESS` text COLLATE utf8_romanian_ci NOT NULL,
`CITY` varchar(16) COLLATE utf8_romanian_ci NOT NULL,
`COUNTRY` varchar(16) COLLATE utf8_romanian_ci NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_romanian_ci AUTO_INCREMENT=2 ;
INSERT INTO `CONTACTS` (`ID`, `NAME`, `PHONE`, `EMAIL`, `ADDRESS`, `CITY`, `COUNTRY`) VALUES
(1, 'Peter Brown', '0742062307', '[email protected]', 'Avenue 13.', 'Santaclaus', 'Austria');
'INSERT INTO
CONTACTS
(
ID
,
NAME
,
PHONE
,
EMAIL
,
ADDRESS
,
CITY
,`COUN' 的 手冊
== == SOLUTUION
我需要 「multi_query()」 執行我的多個查詢。
您可以將所有的sql查詢寫入單個文件,並使用';'將它們分開 – 2016-08-17 13:10:06
閱讀手冊:http://php.net/manual/en/pdo.begintrans action.php或搜索超過stackoverflow:http://stackoverflow.com/questions/6346674/pdo-support-for-multiple-queries-pdo-mysql-pdo-mysqlnd;) – Bobot
@BenseidSeid可以PLZ放下樣本 - 只是萬一我錯過了什麼。謝謝! –