0
所以我想用mysqli::multi_query
創建多個表,但由於某種原因,似乎我的編碼沒有正確執行。mysqli創建multllie表
我認爲問題是執行多個。目前我的數據庫沒有任何所需的表格,所以它應該執行CreateTable
函數。
CODE
:
<?php
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected database successfully";
/* create table in database */
function CreateTable($conn) {
$sql = "CREATE TABLE Address(
id INT(10) AUTO_INCREMENT PRIMARY KEY,
Unit VARCHAR (20),
Lot VARCHAR(20),
FloorNumber VARCHAR(5),
BuildingName VARCHAR(50),
HighorLand VARCHAR (10),
StreetName VARCHAR (50) NOT NULL,
City VARCHAR(15)NOT NULL,
Postcode VARCHAR(5) NOT NULL,
State VARCHAR(10) NOT NULL,
reg_date TIMESTAMP);";
$sql .= "CREATE TABLE HomeUser(
Hid INT(100) AUTO_INCREMENT PRIMARY KEY,
HName VARCHAR (200) NOT NULL,
HNRIC VARCHAR (20) NOT NULL,
HContatcnum VARCHAR (15) NOT NULL,
HEmail VARCHAR (50) NOT NULL,
HPromocode VARCHAR (10) NOT NULL,
HICFront VARCHAR (80),
HICBack VARCHAR (80),
HUtilitybill VARCHAR (80));";
$sql .= "CREATE TABLE BusinessUser(
Bid INT(100) AUTO_INCREMENT PRIMARY KEY,
BName VARCHAR (100) NOT NULL,
BEmail VARCHAR (50) NOT NULL,
BComregnum VARCHAR (10) NOT NULL,
BContactnum VARCHAR (15) NOT NULL,
BNoemployee INT (5),
BPromocode VARCHAR (10),
BForm9 VARCHAR (80),
BForm24 VARCHAR (80),
BForm49 VARCHAR (80),
BDirectoric VARCHAR (80));";
/* execute multi query */
if (($conn->multi_query($sql) === TRUE) {
echo "Table created successfully";
} else {
echo "Error creating table: " . mysqli_error($conn);
}
}
/* Check table exist or not,if exist insert data,if not create table and insert data */
$CheckTable = tep_db_query("SHOW TABLES LIKE 'Address'");
if (tep_db_num_rows($CheckTable) > 0) {
echo 'Table exists';
} else {
CreateTable($conn);
}
/* close connection */
$conn->close();
?>
在您的代碼上看不到任何連接細節。請將其粘貼。 – Syfer
@Syfer我已經更新連接信息 – newb
希望你有必要的mysql用戶權限來創建表。 (($ conn-> multi_query($ sql)=== TRUE){*它應該是如果(($ conn-> multi_query($ sql)=== TRUE)){ – CodeMonkey