2010-08-03 64 views
3

我試圖用下面的代碼更新我的數據庫記錄,但是我沒有運氣。有人在乎幫忙嗎?謝謝使用PHP更新數據庫

<?php include "base.php"; ?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Project Sproom</title> 
<link rel="stylesheet" href="style.css" type="text/css" /> 
</head> 
<body> 
<?php if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username'])) 
{ 
if(!empty($_POST['username']) && !empty($_POST['email'])) 
{ 

$newusername = mysql_real_escape_string($_POST['username']); 
$newemail = mysql_real_escape_string($_POST['email']); 
$edit = mysql_query("UPDATE users (Username, EmailAddress) VALUES('".$newusername."', '".$newemail."') WHERE UserID=".$_SESSION['UserID'].""); 
// } 
?> 
<div id="container"> 
<div id="homemenu"> 
<ul id="navlist"> 
<li id="active"><a href="index.php" id="current">Home</a></li> 
<li><a href="profile.php">Edit Profile</a></li> 
</ul> 
</div> 
<div id="homemain"> 
<h1>Edit Profile</h1> 
<p>This will be the edit profile when i have figured out how to do it...</p> 
<br /> 
<form method="post" action="profile.php" name="editprofile" id="editprofile"> 
<label for="username">Username: </label> <input type="text" name="username" id="username" value="<?=$_SESSION['Username']?>"/><br /> 
<label for="email">E-Mail: </label> <input type="text" name="email" id="email" value="<?=$_SESSION['EmailAddress']?>"/> <br /> 
<input type="submit" name="editprofile" id="editprofile" value="Submit" /> 
</fieldset> 
</form> 
</div> 
</div> 
<?php 
} 
else 
{ 
?> 
<meta http-equiv="refresh" content="0;index.php"> 
<?php 
} 
?> 
+0

你還缺少一個右括號的地方。也許你剛剛在查詢下面註釋掉了一個?或者,也許您已經找到它了,因爲您的評論已消失... – grossvogel 2010-08-03 23:45:26

回答

3

您正在使用INSERT語法進行UPDATE查詢。語法應該是這樣的:

UPDATE users SET Username = 'username', EmailAddress = 'email' WHERE UserID = 1; 

Docs here

0

您還沒有連接到MySQL數據庫,是嗎?

我沒有看到,在該代碼...

或者是這個腳本的頂部包含「base.php」的一部分?

恐怕你需要在嘗試更新表中的行之前先握住某個MySQL數據庫的連接。

編輯:

好的,那麼好吧。嘗試在更新後發出下面的代碼行:

echo "edit was " .$edit; 

這是檢查更新查詢是否被成功執行(在這種情況下,應該呼應true)還是失敗(在這種情況下,它呼應假)。

所以至少你可以告訴這樣一個mysql_query的結果。

+0

是的,我已連接到base.php文件中的數據庫。 :) – ritch 2010-08-03 23:18:02

-1
$edit = mysql_query("UPDATE users SET Username='".$newusername."', EmailAddress='".$newemail."' WHERE UserID=".$_SESSION['UserID'].""); 

試試這個