繁体   English   中英

PHP / HTML表单未更新MySQL

[英]PHP/HTML Form not updating MySQL

我似乎无法找到解决方案,我也一直在寻找类似的线程,但没有运气

基本上这是我的代码,当您单击“更新”时,它旨在在表单字段中显示您的当前名称,然后您可以覆盖它们并提交更改,但是遗憾的是它不会更新,它仅显示原始设置的名字和姓氏,并且不更新数据库,因此不显示新的集合名称。

<?php 
include('../connect_db.php'); 

$res = mysqli_query($dbconnection, "SELECT * FROM users");
$row = mysqli_fetch_array($res);


if(isset($_POST['newFirst']) && isset($_POST['newLast'])){
    $newFirst = $_POST['newFirst'];
    $newLast = $_POST['newLast'];
    $id = $_POST['id'];
    $sql = "UPDATE users SET first_name='$newFirst', last_name='$newLast' WHERE id='$id'";
    $res = mysqli_query($dbconnection, $sql);
}

?>

<div id="editSection">
<h3>Edit Details</h3>   

<form action="edit_profile.php" method="POST">

<input type="hidden" value="<?php echo $row[0];?>" name="id"/>

<h2>First Name</h2>
<input type="text" name="newFirst" value="<?php echo $row[1];?>">

<h2>Last Name</h2>
<input type="text" name="newLast" value="<?php echo $row[2];?>">

<input type="submit" value="Update">

</form>


</div>

任何帮助将不胜感激 :)

亲切的问候

〜马特

我在查询中看到一些错误

$sql = "UPDATE users SET first_name='$newFirst', 
last_name='$newLast' WHERE id='first_name='$id'";

应该

$sql = "UPDATE users SET first_name='$newFirst', 
last_name='$newLast' WHERE id= '$id'";

if(isset($POST['newFirst']) && isset($POST['newLast'])){

应该

if(isset($_POST['newFirst']) && isset($_POST['newLast'])){

您必须先连接到数据库,然后才能使用。

$con=mysqli_connect("localhost","my_user","my_password","my_db"); 

还有其他一些错误,例如您必须像这样使$POST['newFirst']成为$_POST['newFirst']

if(isset($_POST['newFirst']) && isset($_POST['newLast'])){

并将查询更改为

$sql = "UPDATE users SET first_name='$newFirst',last_name='$newLast' WHERE id= '$id'";

因为您在查询id='first_name='$id'末尾有错误,这是错误的

您在if条件中使用$POST错误。

它必须称为$_POST[..]

另外,您还应该在更新查询中查看WHERE

我认为您的意思是: WHERE id= '$id'

您应该从$ _POST ['id']获取您的ID; 我想这是您的行ID,更新查询也必须在id = $ id的地方。

$id = $_POST['id'];
$sql = "UPDATE users SET first_name='$newFirst', last_name='$newLast' WHERE id=$id";

您还更新过数据库吗? 在发生更新之前,在选择期间使用的row [0],row [1],row [2]将具有旧的一组值。 您可以在更新调用后使用mysqli_fetch_array($ res)吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM