2016-07-24 3 views
2

데이터베이스에 데이터를 편집하려고하는데 왜 내가 할 수 없는지 모르겠다. 나는 지금까지 뭔가를 시도했다. 어쩌면 누군가가 좀 봐 주실 수 있습니다.데이터베이스의 데이터를 편집 할 수없고 id가없는 이름을 가져올 수 없습니까?

홈 파일 .. 내가 이름, 성 어쩌구 저쩌구을 변경할 수 있습니다 어디 내장 갱신에 노력하고 있어요,하지만 난 단지 먼저 이름을 설정 캔트 Managament 시스템

<body> 

    <h1>TU Chemnitz Student managament system</h1> 

    <br> 
    <a href="insert_form.html" class="myButton">ADD Person</a> 
    <a href="insert_form.html" class="myButton">Edit Person</a> 
    <a href="insert_form.html" class="myButton">Manage Boards</a> 
    <a href="insert_form.html" class="myButton">Manage Departments</a> 
    <a href="search_personel.html" class="myButton">Search N&S</a> 
    <a href="three_search.html" class="myButton">Triple Search</a> 
    <a href="mtable.php" class="myButton">Membership</a> 

    <br> 
    <br> 

<?php 

include_once('coneksioni.php'); 


// create query 
$querys = "SELECT * FROM tblperson"; 

// execute query 
$result = mysql_query($querys) or die ("Error in query: $query. ".mysql_error()); 

    $res = mysql_query("SELECT * FROM tblperson"); 

echo "<table border=1 align=center> 
<tr> 
<th>Personal ID</th> 
<th>First Name</th> 
<th>Last Name</th> 
<th>Deparment</th> 
<th>Board</th> 
<th>Marticulation Number</th> 
<th>Reg Date</th> 
<th>Action</th> 

</tr>"; 
while($row = mysql_fetch_array($res)) { 
    ?> 
    <tr> 
     <td><?=$row['personid']?></td> 
     <td><?=$row['personname']?></td> 
     <td><?=$row['personsurname']?></td> 
     <td><?=$row['persondepartment']?></td> 
     <td><?=$row['personboard']?></td> 
     <td><?=$row['martinumber']?></td> 
     <td><?=$row['personregdate']?></td> 
     <td> 
      <a href="edit20.php?edit<?=$row['personid']?>">edit</a> | 
      <a href="edit.php?id=$row[id]">del</a> 

     </td> 
    </tr> 

<?php 
    } 

?> 
</body> 
</html> 

및 edit20.php

<?php 
    include_once('coneksioni.php'); 

    if(isset($_GET['edit'])) 
    { 
     $personid = $_GET['edit']; 
     $res= mysql_query("SELECT * FROM tblperson WHERE personid='$personid'"); 
     $row= mysql_fetch_array($res); 
    } 

    if(isset($_POST['personname'])) 
    { 
     $personname = $_POST['personname']; 
     $personid = $_POST['personid']; 
     $sql  = "UPDATE tblperson SET personname='$personname' WHERE personid='$personid'"; 
     $res  = mysql_query($sql) 
            or die("Could not update".mysql_error()); 
     echo "<meta http-equiv='refresh' content='0;url=home.php'>"; 
    } 

?> 
<form action="edit20.php" method="POST"> 
Name: <input type="text" name="personname" value="<?php echo $row[1]; ?>"><br /> 
<input type="hidden" name="personid" value="<?php echo $row[0]; ?>"> 
<input type="submit" value=" Update "/> 
</form> 

내 테이블의 데이터베이스 기본 키가 이다에서

N을 personid ame 필드 사람 이름 (기본 키가 아님). SQL 주입

확인 coneksioni.php

$conn = new mysqli(HOST, USER, PASS, DBNAME); 

edit.php

require_once ('coneksioni.php'); 

$edit_person = $conn->prepare(" 
    UPDATE tblperson SET 
    personname = ? WHERE personid = ? 
"); 

$edit_person->bind_param( 
    "si", 
    $personname, $personid 
); 

if(isset($_POST['personname']) && isset($_POST['personid'])) { 
    $personname = $_POST['personname']; 
    $personid = $_POST['personid']; 


    if (!$edit_person->execute()) { 
     // action if failed 
    } else { 
     // action if success 
    } 

    $edit_person->close(); 

} 

form.html의 위험을 줄이기 위해

답변

1

준비된 문을 사용하십시오

<form action="edit.php" method="POST"> 
Name: <input type="text" name="personname" value="<?php echo $row[1]; ?>"><br /> 
<input type="hidden" name="personid" value="<?php echo $row[0]; ?>"> 
<input type="submit" value=" Update "/> 
</form> 

건배

관련 문제