簡體   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