데이터베이스에서 레코드를 삭제하기 위해 몇 페이지를 코딩했지만 작동하지 않습니다.PHP를 사용하여 SQL 데이터베이스에서 레코드 삭제
나는 데이터베이스에 저장된 정확한 이름과 암호를 사용하여 사용자가 로그인하는 웹 사이트를 운영하고 있습니다. 정상적으로 작동합니다.
내가 관리자 페이지의 전체 코드와 JS 바이올린을 만든<?php
$sql = mysqli_query($con, "SELECT * FROM details INNER JOIN genre ON genre.genreID = details.genreID;") or die(mysqli_error($sql));
while($row = mysqli_fetch_array($sql)) {
echo '<div class="info-box">
<img class="image" src='.'"'.$row['image'].'"
'.'>
<a class="edit" href="delete.php?id=' . $row["ID"] .'" onclick="return confirm(\'Are you sure you want to delete this record?\')">Delete</a> |
</div>';
}
mysqli_close($con);
?>
... http://jsfiddle.net/n3n4ot4g/
:이 후 관리자 페이지로 사용자를 취는 코드는 다음의 몇 가지로 구성
이 페이지는 뒤에서 delete.php로 이동하여 레코드를 삭제합니다. 이 페이지는 다음과 같은 코드로 구성
<?php
$myID = $_GET['ID'];
echo $myID;
include ('includes/dbconx.php');
//check if a value has been sent
if(isset($myID)){
//MySQL statement to delete record using the unique id variable
mysqli_query($con, "DELETE FROM details WHERE ID = '$myID'") or die ('Error: '.mysqli_error());
}
mysqli_close($con);
header("Location: admin.php");
?>
나는 팝업 상자가 내가 예를 클릭하여 삭제를 확인하기 위해 나타나는 삭제 링크를 클릭하지만, 그것은 어떤 콘텐츠와 admin.php 저를 소요하는 경우 그것. 모든 기록이 사라집니다. 이것은 또한 왼쪽 패널 탐색에서 "레코드보기"를 클릭 할 때 발생합니다. 되돌아 가서 다시 로그인하여 레코드를 볼 수 있지만 삭제하려고 시도한 레코드는 삭제되지 않습니다.
이것이 HTML 또는 PHP 문제인지 확실하지 않습니다.
JS fiddle은 PHP 용으로 설계되지 않았지만 대안을 찾을 수 없다는 것을 알고 있습니다.
** 위험 ** : 당신은 취약 **은 [SQL 인젝션 공격 (http://bobby-tables.com/) ** 당신이 필요 [방어] (HTTP ://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php) 자신으로부터. – Quentin
코드 설명을 위해 ideone 또는 CompileOnline.com을 사용하십시오. –
else 문을 두 번째 코드에 넣고 세션이 시작되지 않았는지 확인하십시오. –