2011-01-09 46 views
0

如何根據屬性將數據從HTML頁面添加到MySQL數據庫中?如何將HTML頁面中的數據添加到MySQL DB中

它已經被抓取的數據,但我想導入鏈接到一個表中的特定領域,並從他們中刪除一些東西(生病了),另一個從一個表到另一個領域。

我有PHP/MySQL和Linux。我應該使用curl嗎?如果是的話,我怎樣才能將數據添加到MySQL數據庫中?

+0

你是否已經取得了你的數據庫中的表爲你刮數據被插入到? – thirtydot 2011-01-09 22:53:09

+0

是的,我有。我只需要弄清楚如何將數據插入到它中。 – Dean 2011-01-09 23:00:01

+0

你能舉個例子說明你想如何存儲鏈接以及你需要的數據類型嗎? – amosrivera 2011-01-09 23:06:48

回答

1

一些PHP例如插入和更新數據:

//*************************************** 
// Connect to database 
// 
mysql_connect('127.0.0.1','MyUserName','MyPassword',false,MYSQL_CLIENT_SSL|MYSQL_CLIENT_COMPRESS); 
mysql_select_db('MyDatabase'); 

// If you work with UTF-8 it would be a good idea to set the character set as well to be sure. 
//mysql_set_charset('utf8_general_ci'); 

//*************************************** 
// Insert new data 
// 
$MyURL = mysql_real_escape_string("http://www.exampledomain.com/product/"); 
$Result = mysql_query("INSERT INTO ProductTable (URLField) VALUES ('".$MyURL."')"); 
if($Result) 
print mysql_affected_rows(); 

//*************************************** 
// Update existing data 
// 
$MyURL = mysql_real_escape_string("http://www.exampledomain.com/newproduct/"); 
$RecordID = 123; 
$Result = mysql_query("UPDATE ProductTable SET URLField='".$MyURL."' WHERE ID=".$RecordID); 
if($Result) 
print mysql_affected_rows(); 

連接到MySQL服務器和mysql_connect()和使用mysql_select_db()選擇數據庫。 我不是以英語爲母語,並使用UTF-8來獲取所有特殊字符正確的。如果你不需要這個,你可以忽略這一行。

所有進入SQL服務器的數據都應該進行清理,這意味着轉義控制字符(如引號)。在SQL語句中使用變量$ MyURL之前,使用mysql_real_escape_string()進行消毒。

SQL語句與mysql_query()一起執行並返回true或false(對於INSERTUPDATE語句)。通過mysql_affected_rows(),您可以查看受SQL語句影響的行數,以查看它是否按預期工作。

接下來是一個UPDATE示例,用於更改單列和/或行中的數據。 $ RecordID變量是要更新的記錄標識(您需要知道要更新的記錄)。這個例子是查明單個記錄。通過改變WHERE clausule,你可以同時更新大量的行。例如

UPDATE ProductTable SET URLField='".$MyURL."' WHERE URLField='http://www.exampledomain.com/oldproduct/' 

...將更新領域URLField有「http://www.exampledomain.com/oldproduct/」的所有行。

我認爲這將讓你去一會兒...