2017-03-25 41 views
0

我想導入多個mysql查詢導出爲由php文本。 導入的查詢看起來像如何導入導出爲php文本的多個mysql查詢?

CREATE TABLE `custom` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, 
`input_type` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
`custom_section` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
`custom_value` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
`custom_price` decimal(5,2) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 

CREATE TABLE `custom_section` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, 
`section_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
`section_type` varchar(255) COLLATE utf8_unicode_ci NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 

......... 

該列表進行了20多個查詢。

現在,我使用

$mysqli->query("CREATE TABLE ....."); 

爲每個查詢來完成這項工作。有一個更好的方法嗎?我覺得必須有更簡單的方法來實現這一點。我不希望導入.sql表單,因爲.sql文件太容易下載了。

謝謝。

+0

您可以使用正常的IDE(如toad或sqlworkbench並將代碼作爲.SQL文件) – scaisEdge

+0

'$ mysqli-> query(file_get_contents('exported.txt'));'?我的意思是,它只是一個時間的事情? – Xorifelse

回答

0

如果您使用mysqli,則可以使用mysqli_multi_query。

所以,用隨後的所有sql查詢做一個變量;並使用multi_query

$sql = "CREATE ... ; CREATE .....; CREATE ..... ; "; 
$mysqli->multi_query($sql); 

應該這樣做。