我想用电子邮件等于会话电子邮件的名字和姓氏更新我的数据库表但我无法更新电子邮件等于用户登录电子邮件的表格,请帮助我。
<?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>
答案 0 :(得分:0)
我认为session_is_registered函数已被弃用,因此不是
session_is_registered('email')
您可能想要使用:
if ( isset( $_SESSION['email'] ) ){}
在php的一个页面中,你只能有1个session_start()函数。
如果它仍然无效,请尝试通过打印$ sql变量来调试代码。
如果有帮助,请告诉我。
答案 1 :(得分:0)
首先,您需要围绕SQL
中的字符串进行qoutes""
$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
}