2010-03-18 65 views

回答

18

更新數據可能非常簡單。讓我們從一個形式開始,對於初學者:

<form method="post" action="submit.php"> 
    <input type="text" name="id" value="12" /> 
    <input type="text" name="value" value="Jonathan" /> 
    <input type="submit" /> 
</form> 

這種形式將在發送數據給我們submit.php腳本,我們可以處理它,並把它傳遞到我們的數據庫。由於我們的表單方法是「發佈」,我們所有的值將通過PHP中的POST超級數組發送(如果您使用文件上傳器,則不會發生這種情況)。因此,我們submit.php頁面中,我們可以打印ID和值中,像這樣:

print $_POST["id"]; // the name of the HTML element is the key 
print $_POST["value"]; // again, note that we use the name as the key 

你要小心通過用戶提交的數據直接進入你的查詢,所以這是很好的清理數據使用函數像mysql_real_escape_string()

$id = mysql_real_escape_string($_POST["id"]); 
$value = mysql_real_escape_string($_POST["value"]); 

我們將要做的下一件事就是,這些地方在查詢:

$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}"; 

這是一個很好的時間不STA我不鼓勵你在實際環境中使用這個示例代碼。你會想查找SQL注入,以及如何避免它們。我在這裏提供的代碼僅僅是一個例子。都進入了我們的價值觀之後,將要實際運行查詢看起來是這樣的:

UPDATE mytable SET value = 'Jonathan' WHERE id = 12 

現在,爲了跑這一點,我們需要連接到數據庫。

$host = "localhost"; 
$user = "root"; 
$pass = ""; 
$database = "myDatabase"; 
$conn = mysql_connect($host, $user, $pass) or die(mysql_error()); 
     mysql_select_db($database) or die(mysql_error()); 

所有我們這裏做的是存儲陣列我們的MySQL用戶帳戶憑據,並將它們傳遞到連接功能。這段代碼應該是不言自明的,但是讓我知道它是否一目瞭然。

一旦你有了,你就可以運行你的查詢。請記住,我們將其存儲在一個名爲$sql的數組中:

$result = mysql_query($sql) or die(mysql_error()); 

就是這樣。你做到了!假設沒有出錯,數據現在在您的數據庫中更新。有很多方法可以增加通過此腳本提供給用戶的信息。另外值得注意的是,在甚至允許腳本運行之前,您會希望清理數據 - 如果它不是可接受的數據(有人試圖注入自己的查詢),則需要將其吐出。

查看MySQL Functions in the PHP Documentation獲取更多好吃的東西,當你有更具體的問題時一定要回到這裏!

+0

我有點嘗試使用PHP來更新我的表單,但它不會工作。 –