基本上,我正在尝试使用表单更新数据库。但它没有更新。不确定错误是什么。我遇到的问题是,即使我编辑表单并点击提交,信息也保持不变。如果你能看到我做错了什么,我将不胜感激! 谢谢!
<?php
session_start();
include_once 'dbconnect.php';
$query = $DBcon->query("SELECT * FROM user WHERE user_id=".$_SESSION['userSession']);
$userRow=$query->fetch_array();
//$query = $DBcon->query("SELECT * FROM user WHERE user_id=".$_SESSION['userSession']);
//$userRow=$query->fetch_array();
if(!empty($_POST)){
echo '<div id="updated">we just updated the record...</div>';
$results = $DBcon->query(" UPDATE user SET username= '" . $_POST['username'] . "', password='".$_POST['password']."' WHERE user_id='".$_POST['user_id']."' ");
echo $results;
//$sql = "UPDATE daves_table SET first_name ='$_POST['last_name']' WHERE id = '$_POST['rowid']'";
//UPDATE `david_schema`.`daves_table` SET `last_name`='$_POST['last_name']' WHERE `id ='$_POST['rowid']';
//print_r($_GET)
}
$user_id = $_GET['user_id'];
if(empty($user_id)){echo 'no id provided.';die;}
$result = mysqli_query($DBcon,"SELECT * FROM user WHERE user_id = '". $user_id ."'");
while($row = mysqli_fetch_array($result))
{
?>
<form action="change_info.php?user_id=<?php echo $_GET['user_id']; ?>" method="post">
<input type="hidden" name="rowid" id="rowid" value="<?php echo $row['user_id']; ?>" />
<br>
<input type="text" name="username" id="username" value="<?php echo $row['username']; ?>" />
<br>
<input type="text" name="password" id="password" value="<?php echo $row['password']; ?>" />
<br>
<input type="submit" name="submit"/>
<?php } ?>
答案 0 :(得分:1)
在UPDATE
查询中,$_POST['user_id']
应该是$_GET['user_id']
,因为您在表单的操作中有?user_id=<?php echo $_GET['user_id'];?>
。网址参数位于$_GET
,而不是$_POST
。
或者您可以使用$_POST['rowid']
从隐藏字段中获取它。