Обновление базы данных с помощью PHP - PullRequest
3 голосов
/ 04 августа 2010

Я пытаюсь обновить записи своей базы данных следующим кодом, но мне не везет, что когда-либо.Кто-нибудь хочет помочь?Спасибо

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

3 голосов
/ 04 августа 2010

Вы используете синтаксис INSERT для запроса UPDATE.Синтаксис должен быть таким:

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

Документы здесь .

0 голосов
/ 04 августа 2010
$edit = mysql_query("UPDATE users SET Username='".$newusername."', EmailAddress='".$newemail."' WHERE  UserID=".$_SESSION['UserID']."");

Попробуйте это

0 голосов
/ 04 августа 2010

Вы не подключились к базе данных MySQL, не так ли?

Я не видел этого в этом коде ...

Или это часть включенной "базы".php "поверх этого скрипта?

Боюсь, вам нужно сначала установить соединение с определенной базой данных MySQL, прежде чем пытаться обновить строку в таблице.

Редактировать:

Хорошо, тогда хорошо.Попробуйте выполнить следующую строку кода после обновления:

echo "edit was " .$edit;

Это делается для того, чтобы проверить, был ли запрос на обновление выполнен успешно (в этом случае он должен отображать значение true) или не выполнен (в этом случае он отображает false).

Так что, по крайней мере, вы можете сказать результат такого mysql_query.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...