其實sql文件,就是一些sql語句
專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)殷都免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
填寫好數(shù)據(jù)庫相關(guān)操作后,點擊下一步,首先將數(shù)據(jù)庫連接起來
12mysql_connect(..............)//等等這些數(shù)據(jù)庫連接代碼
數(shù)據(jù)庫連接后,開始讀取sql文件
1234567$Sqls = file_get_contents( '你的sql文件' );//然后把讀取到的sql文件內(nèi)容打散成數(shù)組,當(dāng)然,這個文件要有規(guī)律,就是每條sql語句有一個特定的分隔符,比如分號;$SqlArr = explode(';', $Sqls );//最后就是循環(huán)遍歷出這些sql語句并執(zhí)行,即可foreach ( $SqlArr as $sql ) { mysql_query( $Sql );}
上面只是一個大致思路原理,
具體的話,還是要根據(jù)具體情況來弄的!
特別是那個sql文件中的內(nèi)容,一定要有一定的規(guī)律,并且一些不必要的東西不能有,
比如注釋(很多人從phpmyadmin導(dǎo)出的sql文件,都會帶上注釋,
而注釋是不符合sql語句規(guī)范的,會執(zhí)行出錯,
所以導(dǎo)出后,自己根據(jù)情況修改一下?。?/p>
需要PHP基礎(chǔ)知識和數(shù)據(jù)庫基礎(chǔ)知識。
以SQL為例。使用PHP MySQL 函數(shù)可以編輯數(shù)據(jù)庫。
mysql_connect() 函數(shù)打開MySQL 連接。舉例
?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}// 一些代碼...mysql_close($con);
?
mysql_connect()三個參數(shù)分別是服務(wù)器名,連接賬號,連接密碼。
連接之后,可以使用mysql_select_db()設(shè)置要處理的數(shù)據(jù)庫,后面則是用數(shù)據(jù)庫語句處理數(shù)據(jù)。SQL語法簡介網(wǎng)頁鏈接
看你說的title和time這種格式應(yīng)該是XML文檔,如果XML文檔,完全不用自己讀取文檔,可以使用PHP提供的simpleXML庫區(qū)操作,然后再用PDO或MySQLi庫去寫入數(shù)據(jù)庫即可。
這個技術(shù)稍微綜合了PHP的基礎(chǔ)知識,
給你一個思路,
(1) 先將textarea 文本中的信息 傳入 php的 $_POST['content'], content 是textarea的屬性名稱,
(2) 傳過來的值是通過數(shù)組的形式進行保存的 ,其中PHP有一個函數(shù)是可以將數(shù)組轉(zhuǎn)換成字符串形式,
引用那個函數(shù)后,通過var_dump()打印出你的轉(zhuǎn)換數(shù)據(jù),看是否是字符串
在這里需要提醒你一下,因為你是每一行作為一句話 通過逗號分隔出來的 ,那么 在轉(zhuǎn)換成數(shù)組的時候,
將每一行數(shù)據(jù) 用 | 隔開,例如:
數(shù)據(jù)1 , 數(shù)據(jù)11, 數(shù)據(jù)111 | 數(shù)據(jù)2, 數(shù)據(jù)22, 數(shù)據(jù)222| 數(shù)據(jù)3 , 數(shù)據(jù)33, 數(shù)據(jù)333 | 數(shù)據(jù)4, 數(shù)據(jù)44, 數(shù)據(jù)444 |
這就是一個轉(zhuǎn)換成字符串的格式了,
(3) 通過轉(zhuǎn)換成字符串后,php中還有一個函數(shù)就是將字符串轉(zhuǎn)換成 數(shù)組的函數(shù),轉(zhuǎn)換結(jié)果應(yīng)該出來的數(shù)據(jù)格式是:
array=
array(0)=array{
'數(shù)據(jù)1,數(shù)據(jù)11,數(shù)據(jù)111'
},
array(1)=array{
'數(shù)據(jù)2,數(shù)據(jù)22,數(shù)據(jù)222'
}....
(4)以上的數(shù)據(jù)都是索引數(shù)組的二維數(shù)組,將二維數(shù)組用foreach()去循環(huán)打印出來,那么久可以得到每一個 所以數(shù)組下的 數(shù)據(jù)了,這些數(shù)據(jù)
就是你要保存到數(shù)據(jù)的數(shù)據(jù),在按照(1)和(2)的方式進行操作,最后就可以把textarea的數(shù)據(jù)保存到數(shù)據(jù)庫中咯。
思路就是這樣的 ,希望你能自己動手,把這個程序解決,這個程序在實際開發(fā)中運用的很廣泛,最好自己把它掌握了.....
很簡單的
select * from A1
..............
$Aname=$sql-query("name");
$Aage=$sql-query("age");
$Atel=$sql-query("tel");
$Adatetime=$sql-query("datetime");
$Asex=$sql-query("sex");
//取出A1表的結(jié)果 變量
然后 拼接sex age
$sexage=$Asex.$Aage;
.........
下一步 插入到 B1表
insert into B1 value('{$Aname}','{$Atel}','{$Adatetime}','{$sexage}')
具體的格式 你完善下就好了 很簡單的
思路:
讀取csv文件,每讀取一行數(shù)據(jù),就插入數(shù)據(jù)庫
示例
文件夾結(jié)構(gòu)
/
file.csv????//csv大文件,這里只模擬三行數(shù)據(jù),不考慮運行效率(PS:csv文件格式很簡單,文件一般較小,解析很快,運行效率的瓶頸主要在寫入數(shù)據(jù)庫操作)
index.php????//php文件
file.csv
singi,20
lily,19
daming,23
index.php
/**
*?讀取csv文件,每讀取一行數(shù)據(jù),就插入數(shù)據(jù)庫
*/
//獲取數(shù)據(jù)庫實例
$dsn?=?'mysql:dbname=test;host=127.0.0.1';
$user?=?'root';
$password?=?'';
try?{
$db?=?new?PDO($dsn,?$user,?$password);
}?catch?(PDOException?$e)?{
echo?'Connection?failed:?'?.?$e-getMessage();
}
//讀取file.csv文件
if?(($handle?=?fopen("file.csv",?"r"))?!==?FALSE)?{
while?(($row?=?fgetcsv($handle,?1000,?","))?!==?FALSE)?{
//寫入數(shù)據(jù)庫
$sth?=?$db-prepare('insert?into?test?set?name=:name,age=:age');
$sth-bindParam(':name',$row[0],PDO::PARAM_STR,255);
$sth-bindParam(':age',$row[1],PDO::PARAM_INT);
$sth-execute();
}
fclose($handle);
}
數(shù)據(jù)表
CREATE?TABLE?`test`?(
`id`?INT(10)?UNSIGNED?NOT?NULL?AUTO_INCREMENT,
`name`?VARCHAR(255)?NULL?DEFAULT?''?COLLATE?'utf8mb4_bin',
`age`?INT(10)?NULL?DEFAULT?'0',
PRIMARY?KEY?(`id`)
)
COLLATE='utf8mb4_bin'
ENGINE=InnoDB;
運行結(jié)束后,數(shù)據(jù)庫中會插入csv中的三行數(shù)據(jù)