使用PHP更新数据库

时间:2010-08-03 23:08:36

标签: php mysql database

我正在尝试使用以下代码更新我的数据库记录,但我没有运气。有人在乎帮忙吗?感谢

<?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
}
?>

3 个答案:

答案 0 :(得分:3)

您正在使用INSERT语法进行UPDATE查询。语法应如下所示:

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

Docs here

答案 1 :(得分:0)

您还没有连接到MySQL数据库,对吗?

我在这段代码中没有看到......

或者是这个脚本中包含的“base.php”的一部分吗?

在尝试更新表中的行之前,我担心您需要先建立与某个MySQL数据库的连接。

编辑:

好的,那么。尝试在更新后发出以下代码行:

echo "edit was " .$edit;

这是为了检查更新查询是否成功执行(在这种情况下它应该回应为真)或失败(在这种情况下它回显为false)。

所以至少你可以告诉你这样一个mysql_query的结果。

答案 2 :(得分:-1)

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

试试这个