我想用名字和姓氏更新我的数据库表,其中电子邮件等于会话电子邮件,但我无法更新电子邮件等于用户登录电子邮件的表,请帮助我。
<?php
session_start();
if(!session_is_registered(email)){
header("location: login.html");
}?>
<?php
echo"<a href = logout.php> Logout </a>";
?>
<?php
include('config.php');
session_start();
if(isset($_SESSION['email'])) {
echo "Welcome ".$_SESSION['email']."";
}
?>
<?php
$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql="UPDATE nametable SET fname='$fname', lname='$lname' WHERE email='" . $_SESSION ['email'] . "'";
echo $row['fname']." - ".$row['lname']. "<br />";
if($result) {
echo "success";
} else {
echo "no success";
}
mysql_select_db('db');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully'n";
mysql_close($conn);
?>
此 ID 将要提交的数据,具体取决于要更新的名字和姓氏 不用担心其他标签 我只是把它放在一起以了解上面的代码将要更新的内容,请告诉我我做错了什么
<html>
<head>
<title>Update a Record in MySQL Database</title>
</head>
<body>
<form method="post" action="update1.php">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="100"> first name</td>
<td><input name="fname" type="text" id="fname"></td>
</tr>
<tr>
<td width="100">last name</td>
<td><input name="lname" type="text" id="lname"></td>
</tr>
<tr>
<td width="100"> </td>
<td> </td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="submit" type="submit" id="submit" value="submit">
</td>
</tr>
</table>
</form>
</body>
</html>
首先,你需要在SQL中围绕字符串""
$sql="UPDATE nametable SET fname='$fname', lname='$lname' WHERE email='" . $_SESSION ['email'] . "'";
应该是
$sql='UPDATE nametable SET fname="'.$fname.'", lname="'.$lname.'" WHERE email="'.$_SESSION['email'].'"';
接下来,您根本不执行查询。在以下思考你
echo $row['fname']." - ".$row['lname']. "<br />";
if($result) {
echo "success";
} else {
echo "no success";
}
真正的意思是:
$result = mysql_query($sql);
if (mysql_affected_rows()>-1) {
// success
// do here what you want
}
我认为session_is_registered函数已经被弃用,所以而不是
session_is_registered('email')
您可能希望使用:
if ( isset( $_SESSION['email'] ) ){}
在一页 PHP 中,您只能有 1 个 session_start() 函数。
如果它仍然不起作用,请尝试通过打印出 $sql 变量来调试代码。
让我知道这是否有帮助。