2016-04-07 28 views
0

你好,我有使用MySQL PHP形式Netbeans中出現的問題,更新的一個問題是: 「
注意:未定義的變量:fetched_row在C:\ XAMPP \ htdocs目錄\ Resume_DB \ PHP \ Edication_Edit.php上線
更新MySQL的使用PHP的形式使用文本框數據庫

在我的文本框中的所有4。我的代碼是:

<?php 

    mysql_connect("localhost", "root", ""); 
    mysql_select_db("cs266db_db1"); 


    if(isset($_GET['edit_id'])) 
{ 
    $sql_query="SELECT * FROM education Where Edit_Education=".$_GET['edit_id']; 
$result_set= mysql_query($sql_query); 
$fetched_row= mysql_fetch_array($result_set); 
} 

if(isset($_POST['btn_update'])) 
{ 
//variables for input data 
$Class = $_POST['Class']; 
$Discipline = $_POST['Discipline']; 
$Description = $_POST['Description']; 
$Term = $_POST['Term']; 


//sql query for update data 
    $sql_query = "UPDATE Education SET Class='$Class', Discipline='$Discipline', Description='$Description', Term='$Term' WHERE    Education_Edit=".$_GET['edit_id']; 



    //sql query execution function 

    if(mysql_query($sql_query)) 
{ 
    ?> 
<script type='text/javascript'> 
    alert('Data Has Been Updated'); 
    window.location.href='Eduaction.php'; 
    </script> 
    <?php 
} 
else 
{ 
?> 
<script type='text/javascript'> 
    alert('Error Occured while Updating Data'); 
    </script> 
    <?php 
} 

    //sql query execution function 
} 

    if(isset($_POST['btn-cancel'])) 
{ 
header("Location: Education.php"); 
} 
    ?> 

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Edit Education</title> 

    </head> 
    <body> 
<center> 

    <div id="header"> 
    <div id="content"> 
    <label>Edit Education</label> 
    </div> 
    </div> 
    <div id="body"> 
    <div id="content"> 
    <form method="post"> 
    <table align="center"> 
    <tr> 
    **<td><input type="text" name="Class" placeholder="Class" value="<?php echo $fetched_row['Class']; ?>" required /></td> 
    </tr> 
    <tr> 
    <td><input type="text" name="Discipline" placeholder="Discipline" value="<?php echo $fetched_row['Discipline']; ?>" required /></td> 
    </tr> 
    <tr> 
    <td><input type="text" name="Description" placeholder="Description" value="<?php echo $fetched_row['Description']; ?>" required /></td> 
</tr> 
    <tr> 
     <td><input type="Text" name="Term" placeholder="Term" value="<?php echo $fetched_row['Term']; ?>" required</td>** 
    </tr> 
<tr> 
<td> 
<button type="submit" name="btn-update"><strong>UPDATE</strong></button> 
<button type="submit" name="btn-cancel"><strong>Cancel</strong></button> 
</td> 
</tr> 
</table> 
</form> 
</div> 

<div id="footer"> 
    <div id="content"> 

    </div> 
</div> 

</center> 
</body> 
</html> 

有什麼想法?感謝您的幫助球員

+1

'fetched_row'設置在一個條件內,但在'view'沒有條件.. – Rayon

+1

您是否嘗試使用mysql_error()?如果isset($ _ GET ['edit_id'])的條件是** true **,那麼應該是一個mysql錯誤,並且您可以使用mysql_error()語句來檢查它。 – Fabricio

+0

好的,修復了很棒的錯誤!謝謝Greg。但是SQL不會更新。任何想法爲什麼? –

回答

1

問題是隻有當$ _GET ['edit_id']被設置時纔會分配fetched_row。否則它不存在,但即使未設置$ _GET ['edit_id'],您仍然試圖使用它。

變化

<td><input type="Text" name="Term" placeholder="Term" value="<?php echo $fetched_row['Term']; ?>" required</td>** 

要:

+0

我認爲它應該是'isset($ _ GET ['edit_id'])'不管'isset($ fetched_row ['Term'])' – Rayon

+0

謝謝!這解決了我在頁面上遇到的問題,但SQL不會更新,爲什麼? –

+0

@RayonDabre我確保變量已設置,如果沒有設置,什麼也不做。你使用哪一個並不重要。 –

1

這似乎不是 「Edit_Education」 您正在使用 「Education_Edit」 更新詢問或代替 「Education_Edit」 你是在使用 「Edit_Education」選擇查詢。

$sql_query="SELECT * FROM education Where Edit_Education=".$_GET['edit_id']; 

$sql_query = "UPDATE Education SET Class='$Class', Discipline='$Discipline', Description='$Description', Term='$Term' WHERE Education_Edit=".$_GET['edit_id']; 
+0

試過了,沒有工作 –

+0

請分享數據庫表結構 – Nabeel

0

如果改變(isset($ _ POST [ 'btn_update']))到如果(isset($ _ POST [ 'BTN-更新'])),因爲在HTML按鈕標記你命名按鈕BTN-更新。 在更新查詢更改列名Education_Edit更改爲Edit_Education

相關問題